https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67905
Bug ID: 67905 Summary: running the libstdc++ testsuite as root removed /dev/null from my system Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: egall at gwmail dot gwu.edu Target Milestone: --- Host: i386-apple-darwin9.8.0 Target: i386-apple-darwin9.8.0 Build: i386-apple-darwin9.8.0 Created attachment 36468 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36468&action=edit what survived from `make mail-report.log` So first of all, I know I should be more careful about running things as root, but the gcc testsuite let me go ahead as root without complaint, so here I am. Anyways, I ran `make -k check` in my builddir, and things were going pretty normal until it got to the libstdc++ part, where everything blew up: Test Run By root on Thu Oct 8 20:51:44 2015 Native configuration is i386-apple-darwin9.8.0 === libstdc++ tests === Schedule of variations: unix Running target unix Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw/share/dejagnu/config/unix.exp as generic interface file for target. Using /var/root/gcc-git/libstdc++-v3/testsuite/config/default.exp as tool-and-target-specific interface file. Running /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-abi/abi.exp ... Running /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp ... FAIL: 20_util/temporary_buffer.cc (test for excess errors) [snip a large number of similar FAILs in between] FAIL: 21_strings/basic_string/cons/char/1.cc (test for excess errors) WARNING: program timed out. ERROR: tcl error sourcing /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp. ERROR: sh: cannot redirect standard input from /dev/null: No such file or directory sh: /dev/null: Operation not supported while executing "exec sh -c "exec > /dev/null 2>&1 && (kill -2 $pgid || kill -2 $pid) && sleep 5 && (kill $pgid || kill $pid) && sleep 5 && (kill -9 $pgid || kill -9 $..." invoked from within "if [board_info ${host} exists fileid] { set shell_id [board_info ${host} fileid] set pid -1 verbose "Closing the remote shell $shell_id" 2 if [bo..." (procedure "standard_close" line 4) invoked from within "standard_close "unix"" ("eval" body line 1) invoked from within "eval ${try}_${proc} \"$dest\" $args" (procedure "call_remote" line 33) invoked from within "call_remote "" close "$host"" (procedure "remote_close" line 3) invoked from within "remote_close $dest" (procedure "saved_standard_wait" line 55) invoked from within "saved_standard_wait $dest $timeout" (procedure "standard_wait" line 6) invoked from within "standard_wait "unix" 300" ("eval" body line 1) invoked from within "eval ${try}_${proc} \"$dest\" $args" (procedure "call_remote" line 57) invoked from within "call_remote "" wait "unix" 300" ("eval" body line 1) invoked from within "eval call_remote \"\" wait \"$dest\" $timeout" (procedure "remote_wait" line 2) invoked from within "remote_wait $dest 300" invoked from within "if ![is_remote $dest] { if { "$inp" != "" } { set command "$prog $parg < $inp" } else { set command "$prog $parg" } if ![info ex..." (procedure "unix_load" line 25) invoked from within "unix_load "unix" ./1.exe {} {}" ("eval" body line 1) invoked from within "eval ${try}_${proc} \"$dest\" $args" (procedure "call_remote" line 57) invoked from within "call_remote "" load "unix" "./1.exe" {} {}" ("eval" body line 1) invoked from within "eval call_remote \"\" load \"$dname\" \"$prog\" $args" invoked from within "if ![info exists result] { set result [eval call_remote \"\" load \"$dname\" \"$prog\" $args] # Not quite happy about the "pass" condition, but it m..." (procedure "remote_load" line 66) invoked from within "remote_load target $program $program_args $input_file" (procedure "libstdc++_load" line 13) invoked from within "${tool}_load $output_file" invoked from within "if ![file exists $output_file] { warning "$name compilation failed to produce executable" } else { set status -1 set result [${tool}_l..." (procedure "saved-dg-test" line 224) invoked from within "saved-dg-test /var/root/gcc-git/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc {} { -include bits/stdc++.h}" ("eval" body line 1) invoked from within "eval saved-dg-test $args " (procedure "dg-test" line 6) invoked from within "dg-test $testcase $flags ${default-extra-flags}" (procedure "dg-runtest" line 10) invoked from within "dg-runtest $tests "" "$DEFAULT_CXXFLAGS $PCH_CXXFLAGS"" (file "/var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp" line 105) invoked from within "source /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /var/root/gcc-git/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp" invoked from within "catch "uplevel #0 source $test_file_name"" I can attach more output if necessary, but there was a lot. I attached mail-report.log, which is incomplete and un-emailable due to errors: $ make mail-report.log if test x'-g -O2 `case i386-apple-darwin9.8.0 in i?86-*-darwin* | powerpc-*-darwin*) /usr/local/bin/gcc -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null && echo -mdynamic-no-pic ;; esac`' != x''; then \ BOOT_CFLAGS='-g -O2 `case i386-apple-darwin9.8.0 in i?86-*-darwin* | powerpc-*-darwin*) /usr/local/bin/gcc -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null && echo -mdynamic-no-pic ;; esac`'; export BOOT_CFLAGS; \ fi; \ ../contrib/test_summary -t >mail-report.log ../contrib/test_summary: line 49: /dev/null: Operation not supported ../contrib/test_summary: line 85: /dev/null: Operation not supported ./config.status: line 27: /dev/null: Operation not supported ./config.status: line 72: /dev/null: Operation not supported ./config.status: line 53: /dev/null: Operation not supported ./config.status: line 81: /dev/null: Operation not supported ./config.status: line 134: /dev/null: Operation not supported ./config.status: line 196: /dev/null: Operation not supported ./config.status: line 213: /dev/null: Operation not supported ./config.status: line 216: /dev/null: Operation not supported ./config.status: line 227: /dev/null: Operation not supported ./config.status: line 233: /dev/null: Operation not supported ./config.status: line 253: /dev/null: Operation not supported ./config.status: line 279: /dev/null: Operation not supported ./config.status: line 297: /dev/null: Operation not supported ./config.status: line 299: /dev/null: Operation not supported ./config.status: line 349: /dev/null: Operation not supported ./config.status: line 356: /dev/null: Operation not supported ./config.status: line 359: /dev/null: Operation not supported ./config.status: line 404: /dev/null: Operation not supported ./config.status: line 663: /dev/null: Operation not supported ./config.status: line 676: /dev/null: No such file or directory ./config.status: line 701: /dev/null: No such file or directory ./config.status: line 962: /dev/null: No such file or directory ./config.status: line 1063: /dev/null: Operation not supported chmod +x mail-report.log echo If you really want to send e-mail, run ./mail-report.log now If you really want to send e-mail, run ./mail-report.log now $ ./mail-report.log $ send-mail: warning: command "/usr/sbin/postdrop -r" exited with status 11 send-mail: fatal: root(0): unable to execute /usr/sbin/postdrop -r: Unknown error: 0 Just to confirm, other commands do seem to agree that my /dev/null is actually missing now: $ stat /dev/null stat: /dev/null: stat: No such file or directory $ ls -a /dev/ . ptyta ttyr3 .. ptytb ttyr4 appleAE0 ptytc ttyr5 autofs ptytd ttyr6 autofs_control ptyte ttyr7 autofs_nowait ptytf ttyr8 bpf0 ptyu0 ttyr9 bpf1 ptyu1 ttyra bpf2 ptyu2 ttyrb bpf3 ptyu3 ttyrc console ptyu4 ttyrd cu.Bluetooth-Modem ptyu5 ttyre cu.Bluetooth-PDA-Sync ptyu6 ttyrf disk0 ptyu7 ttys0 disk0s1 ptyu8 ttys000 disk0s2 ptyu9 ttys001 disk1 ptyua ttys002 disk1s1 ptyub ttys003 disk1s2 ptyuc ttys1 disk1s3 ptyud ttys2 dtrace ptyue ttys3 dtracehelper ptyuf ttys4 fbt ptyv0 ttys5 fd ptyv1 ttys6 fsevents ptyv2 ttys7 klog ptyv3 ttys8 lockstat ptyv4 ttys9 machtrace ptyv5 ttysa pmCPU ptyv6 ttysb profile ptyv7 ttysc ptmx ptyv8 ttysd ptyp0 ptyv9 ttyse ptyp1 ptyva ttysf ptyp2 ptyvb ttyt0 ptyp3 ptyvc ttyt1 ptyp4 ptyvd ttyt2 ptyp5 ptyve ttyt3 ptyp6 ptyvf ttyt4 ptyp7 ptyw0 ttyt5 ptyp8 ptyw1 ttyt6 ptyp9 ptyw2 ttyt7 ptypa ptyw3 ttyt8 ptypb ptyw4 ttyt9 ptypc ptyw5 ttyta ptypd ptyw6 ttytb ptype ptyw7 ttytc ptypf ptyw8 ttytd ptyq0 ptyw9 ttyte ptyq1 ptywa ttytf ptyq2 ptywb ttyu0 ptyq3 ptywc ttyu1 ptyq4 ptywd ttyu2 ptyq5 ptywe ttyu3 ptyq6 ptywf ttyu4 ptyq7 random ttyu5 ptyq8 rdisk0 ttyu6 ptyq9 rdisk0s1 ttyu7 ptyqa rdisk0s2 ttyu8 ptyqb rdisk1 ttyu9 ptyqc rdisk1s1 ttyua ptyqd rdisk1s2 ttyub ptyqe rdisk1s3 ttyuc ptyqf sdt ttyud ptyr0 stderr ttyue ptyr1 stdin ttyuf ptyr2 stdout ttyv0 ptyr3 systrace ttyv1 ptyr4 tty ttyv2 ptyr5 tty.Bluetooth-Modem ttyv3 ptyr6 tty.Bluetooth-PDA-Sync ttyv4 ptyr7 ttyp0 ttyv5 ptyr8 ttyp1 ttyv6 ptyr9 ttyp2 ttyv7 ptyra ttyp3 ttyv8 ptyrb ttyp4 ttyv9 ptyrc ttyp5 ttyva ptyrd ttyp6 ttyvb ptyre ttyp7 ttyvc ptyrf ttyp8 ttyvd ptys0 ttyp9 ttyve ptys1 ttypa ttyvf ptys2 ttypb ttyw0 ptys3 ttypc ttyw1 ptys4 ttypd ttyw2 ptys5 ttype ttyw3 ptys6 ttypf ttyw4 ptys7 ttyq0 ttyw5 ptys8 ttyq1 ttyw6 ptys9 ttyq2 ttyw7 ptysa ttyq3 ttyw8 ptysb ttyq4 ttyw9 ptysc ttyq5 ttywa ptysd ttyq6 ttywb ptyse ttyq7 ttywc ptysf ttyq8 ttywd ptyt0 ttyq9 ttywe ptyt1 ttyqa ttywf ptyt2 ttyqb urandom ptyt3 ttyqc vn0 ptyt4 ttyqd vn1 ptyt5 ttyqe vn2 ptyt6 ttyqf vn3 ptyt7 ttyr0 zero ptyt8 ttyr1 ptyt9 ttyr2 My gcc version info: $ gcc/xgcc -v Using built-in specs. COLLECT_GCC=gcc/xgcc Target: i386-apple-darwin9.8.0 Configured with: ../configure --disable-werror --enable-languages=c,c++,lto,objc,obj-c++ --enable-stage1-checking=release -C --with-system-libunwind --enable-secureplt --enable-frame-pointer --enable-version-specific-runtime-libs --enable-assert --enable-fat --enable-portable-binary --enable-browser-plugin --enable-gconf-peer --enable-libgcj-debug --enable-gc-debug --enable-interpreter --enable-aot-compile-rpm --enable-java-home --with-x --enable-collections --enable-gstreamer-peer --enable-xmlj --enable-qt-peer --enable-debug --enable-local-sockets --without-isl --enable-objc-gc --enable-maintainer-mode --enable-host-shared CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ AUTOCONF=/usr/local/bin/autoconf AUTOHEADER=/usr/local/bin/autoheader AUTOM4TE=/usr/local/bin/autom4te AUTORECONF=/usr/local/bin/autoreconf AUTOSCAN=/usr/local/bin/autoscan AUTOUPDATE=/usr/local/bin/autoupdate IFNAMES=/usr/local/bin/ifnames Thread model: posix gcc version 6.0.0 20151007 (experimental) (GCC)