From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C2559385842D; Mon, 1 Nov 2021 10:51:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C2559385842D From: "tkoenig at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libfortran/102992] fortran: redirecting standard out to a file does not work on macOS 12.0 Date: Mon, 01 Nov 2021 10:51:43 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libfortran X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: tkoenig at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Nov 2021 10:51:43 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102992 --- Comment #13 from Thomas Koenig --- Here is a complete strace of a "Hello, world" program on Linux, compiled with -static-libgfortran (to remove some of the shared library loading :-) and executed with $ strace ./a.out > hello.dat execve("./a.out", ["./a.out"], 0x7fff23679850 /* 52 vars */) =3D 0 brk(NULL) =3D 0x55795af28000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffef37f68b0) =3D -1 EINVAL (Invalid argument) access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or dire= ctory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) =3D 3 fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D137154, ...}) =3D 0 mmap(NULL, 137154, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f6b9f05a000 close(3) =3D 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC)= =3D 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3405\0\0\0\0\0\0"..= ., 832) =3D 832 fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D104984, ...}) =3D 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x7f6b9f058000 mmap(NULL, 107592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =3D 0x7f6b9f= 03d000 mmap(0x7f6b9f040000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) =3D 0x7f6b9f040000 mmap(0x7f6b9f052000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,= 3, 0x15000) =3D 0x7f6b9f052000 mmap(0x7f6b9f056000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) =3D 0x7f6b9f056000 close(3) =3D 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libquadmath.so.0", O_RDONLY|O_CLOEX= EC) =3D 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200:\0\0\0\0\0\0"..= ., 832) =3D 832 fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D297784, ...}) =3D 0 mmap(NULL, 299712, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =3D 0x7f6b9e= ff3000 mmap(0x7f6b9eff6000, 184320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) =3D 0x7f6b9eff6000 mmap(0x7f6b9f023000, 98304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,= 3, 0x30000) =3D 0x7f6b9f023000 mmap(0x7f6b9f03b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) =3D 0x7f6b9f03b000 close(3) =3D 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) =3D= 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\363\0\0\0\0\0\0"..., 83= 2) =3D 832 fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D1369352, ...}) =3D 0 mmap(NULL, 1368336, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =3D 0x7f6b9eea4000 mmap(0x7f6b9eeb3000, 684032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) =3D 0x7f6b9eeb3000 mmap(0x7f6b9ef5a000, 618496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE= , 3, 0xb6000) =3D 0x7f6b9ef5a000 mmap(0x7f6b9eff1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14c000) =3D 0x7f6b9eff1000 close(3) =3D 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) =3D= 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..= ., 832) =3D 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0".= .., 784, 64) =3D 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\= 0", 32, 848) =3D 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\27= 6X>\263"..., 68, 880) =3D 68 fstat(3, {st_mode=3DS_IFREG|0755, st_size=3D2029224, ...}) =3D 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0".= .., 784, 64) =3D 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\= 0", 32, 848) =3D 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\27= 6X>\263"..., 68, 880) =3D 68 mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =3D 0x7f6b9ecb2000 mprotect(0x7f6b9ecd7000, 1847296, PROT_NONE) =3D 0 mmap(0x7f6b9ecd7000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) =3D 0x7f6b9ecd7000 mmap(0x7f6b9ee4f000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE= , 3, 0x19d000) =3D 0x7f6b9ee4f000 mmap(0x7f6b9ee9a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) =3D 0x7f6b9ee9a000 mmap(0x7f6b9eea0000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =3D 0x7f6b9eea0000 close(3) =3D 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x7f6b9ecb0000 arch_prctl(ARCH_SET_FS, 0x7f6b9ecb0b80) =3D 0 mprotect(0x7f6b9ee9a000, 12288, PROT_READ) =3D 0 mprotect(0x7f6b9eff1000, 4096, PROT_READ) =3D 0 mprotect(0x7f6b9f03b000, 4096, PROT_READ) =3D 0 mprotect(0x7f6b9f056000, 4096, PROT_READ) =3D 0 mprotect(0x557959277000, 4096, PROT_READ) =3D 0 mprotect(0x7f6b9f0a9000, 4096, PROT_READ) =3D 0 munmap(0x7f6b9f05a000, 137154) =3D 0 brk(NULL) =3D 0x55795af28000 brk(0x55795af49000) =3D 0x55795af49000 fstat(0, {st_mode=3DS_IFCHR|0600, st_rdev=3Dmakedev(0x88, 0x1), ...}) =3D 0 fstat(1, {st_mode=3DS_IFREG|0664, st_size=3D0, ...}) =3D 0 fstat(2, {st_mode=3DS_IFCHR|0600, st_rdev=3Dmakedev(0x88, 0x1), ...}) =3D 0 rt_sigaction(SIGQUIT, {sa_handler=3D0x5579592418a0, sa_mask=3D[QUIT], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGILL, {sa_handler=3D0x5579592418a0, sa_mask=3D[ILL], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGABRT, {sa_handler=3D0x5579592418a0, sa_mask=3D[ABRT], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGFPE, {sa_handler=3D0x5579592418a0, sa_mask=3D[FPE], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGSEGV, {sa_handler=3D0x5579592418a0, sa_mask=3D[SEGV], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGBUS, {sa_handler=3D0x5579592418a0, sa_mask=3D[BUS], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGSYS, {sa_handler=3D0x5579592418a0, sa_mask=3D[SYS], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGTRAP, {sa_handler=3D0x5579592418a0, sa_mask=3D[TRAP], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGXCPU, {sa_handler=3D0x5579592418a0, sa_mask=3D[XCPU], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 rt_sigaction(SIGXFSZ, {sa_handler=3D0x5579592418a0, sa_mask=3D[XFSZ], sa_flags=3DSA_RESTORER|SA_RESTART, sa_restorer=3D0x7f6b9ecf8210}, {sa_handler=3DSIG_DFL, sa_mask=3D[], sa_flags=3D0}, 8) =3D 0 write(1, "Hello, world!\n", 14) =3D 14 exit_group(0) =3D ? +++ exited with 0 +++ I see nothing untoward there, the only times file hande 1 is referenced is by fstat(1, {st_mode=3DS_IFREG|0664, st_size=3D0, ...}) =3D 0 and write(1, "Hello, world!\n", 14) =3D 14 Is it possible to run an equivalent command on MacOS to see what is going on there?=