This is a real problem for scientists using legacy codes. It's also very confusing because the error only appears if large enough arrays are declared.
My numbers don't quite align with the above, but is shows the issue. Here's what I get, runinng first with the big array and then the small one:
fuka:~ 11:44> gfortran test.f90
fuka:~ 11:44> a.out
dyld[22801]: dyld cache '/System/Library/dyld/dyld_shared_cache_arm64e' not loaded: syscall to map cache into shared region failed
dyld[22801]: Library not loaded: '/usr/lib/libSystem.B.dylib'
Referenced from: '/Users/stefan/a.out'
Reason: tried: '/System/Library/Frameworks/JavaVM.framework/Libraries/libSystem.B.dylib' (no such file), '/usr/lib/libSystem.B.dylib' (no such file), '/usr/local/lib/libSystem.B.dylib' (no such file)
Abort
fuka:~ 11:44> size a.out
__TEXT __DATA __OBJC others dec hex
16384 2140012544 0 4295000064 6435028992 17f8ec000
fuka:~ 11:44> gfortran test.f90
fuka:~ 11:45> a.out
26750000.000000000
fuka:~ 11:45> size a.out
__TEXT __DATA __OBJC others dec hex
16384 214007808 0 4295000064 4509024256 10cc24000
I can change the array sizes but I don't know if it will be useful. So in some respects I'm the vendor. I could file a TSI, but I'm not sure I fully understand it. As far as I'm concerned, the example above says it all.