From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.oetec.com (mail.oetec.com [108.160.241.186]) by sourceware.org (Postfix) with ESMTPS id A98AA38B3423 for ; Wed, 11 May 2022 15:13:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A98AA38B3423 X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-oetec-MailScanner-From: dclarke@blastwave.org X-oetec-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-3.109, required 6, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90, DKIM_SIGNED 0.10, DKIM_VALID -0.10, DKIM_VALID_AU -0.10, DKIM_VALID_EF -0.10, T_SCC_BODY_TEXT_LINE -0.01, URIBL_BLOCKED 0.00) X-oetec-MailScanner: Found to be clean X-oetec-MailScanner-ID: 24BFDQBE000366 X-oetec-MailScanner-Information: Please contact oetec for more information Received: from [172.16.35.2] (cpeac202e7325b3-cmac202e7325b0.cpe.net.cable.rogers.com [99.253.170.241]) (authenticated bits=0) by mail.oetec.com (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 24BFDQBE000366 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 11 May 2022 11:13:28 -0400 Message-ID: Date: Wed, 11 May 2022 11:13:26 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 To: gcc-help Content-Language: en-US From: Dennis Clarke Subject: stage4 bootstrap exits with error 2 on 32-bit Debian arm-linux-gnueabi Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 May 2022 15:13:37 -0000 Thanks to help from Jonathan Wakely and Xi Ruoyao the little 32-bit arm board from ASUS finally did get somewhere past stage1 in the bootstrap. However after many hours of slowly smashing away at the silly SDIMM in the ASUS STinkerBoard we get all the way to stage4 ( maybe? ) : io$ /usr/bin/time -p /usr/bin/nice -n +18 make -j 2 bootstrap4 . . . libtool: compile: /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/xgcc -shared-libgcc -B/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc -nostdinc++ -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/lib/ -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/include -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DPIC -DCAN_SANITIZE_UB=1 -DUBSAN_CAN_USE_CXXABI=1 -I. -I../../../../gcc-12.1.0/libsanitizer/ubsan -I.. -I ../../../../gcc-12.1.0/libsanitizer -I ../../../../gcc-12.1.0/libsanitizer/include -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/armv7l-unknown-linux-gnueabihf -I../../../../gcc-12.1.0/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++14 -g -O2 -D_GNU_SOURCE -MT ubsan_value.lo -MD -MP -MF .deps/ubsan_value.Tpo -c ../../../../gcc-12.1.0/libsanitizer/ubsan/ubsan_value.cpp -o ubsan_value.o >/dev/null 2>&1 mv -f .deps/ubsan_type_hash_itanium.Tpo .deps/ubsan_type_hash_itanium.Plo mv -f .deps/ubsan_value.Tpo .deps/ubsan_value.Plo /bin/bash ../libtool --tag=CXX --mode=link /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/xgcc -shared-libgcc -B/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc -nostdinc++ -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/lib/ -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/include -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/sys-include -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/armv7l-unknown-linux-gnueabihf -I../../../../gcc-12.1.0/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++14 -g -O2 -D_GNU_SOURCE -version-info `grep -v '^#' ../../../../gcc-12.1.0/libsanitizer/ubsan/libtool-version` -ldl -lrt -lpthread -lm -o libubsan.la -rpath /opt/gcc/imed/gcc12/lib ubsan_diag.lo ubsan_flags.lo ubsan_handlers.lo ubsan_handlers_cxx.lo ubsan_init.lo ubsan_monitor.lo ubsan_type_hash.lo ubsan_type_hash_itanium.lo ubsan_type_hash_win.lo ubsan_value.lo ../sanitizer_common/libsanitizer_common.la ../interception/libinterception.la ../libbacktrace/libsanitizer_libbacktrace.la ../../libstdc++-v3/src/libstdc++.la libtool: link: /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/xgcc -shared-libgcc -B/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc -nostdinc++ -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/lib/ -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/include -isystem /opt/gcc/imed/gcc12/armv7l-unknown-linux-gnueabihf/sys-include -fPIC -DPIC -shared -nostdlib /usr/lib/arm-linux-gnueabihf/crti.o /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/crtbeginS.o .libs/ubsan_diag.o .libs/ubsan_flags.o .libs/ubsan_handlers.o .libs/ubsan_handlers_cxx.o .libs/ubsan_init.o .libs/ubsan_monitor.o .libs/ubsan_type_hash.o .libs/ubsan_type_hash_itanium.o .libs/ubsan_type_hash_win.o .libs/ubsan_value.o -Wl,--whole-archive ../sanitizer_common/.libs/libsanitizer_common.a ../interception/.libs/libinterception.a ../libbacktrace/.libs/libsanitizer_libbacktrace.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -Wl,-rpath -Wl,/opt/gcc/imed/gcc12/lib -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -ldl -lrt -lpthread ../../libstdc++-v3/src/.libs/libstdc++.so -lm -L/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf -lc -lgcc_s /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/crtendS.o /usr/lib/arm-linux-gnueabihf/crtn.o -Wl,-soname -Wl,libubsan.so.1 -o .libs/libubsan.so.1.0.0 libtool: link: (cd ".libs" && rm -f "libubsan.so.1" && ln -s "libubsan.so.1.0.0" "libubsan.so.1") libtool: link: (cd ".libs" && rm -f "libubsan.so" && ln -s "libubsan.so.1.0.0" "libubsan.so") libtool: link: (cd .libs/libubsan.lax/libsanitizer_common.a && /usr/bin/ar x "/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer/ubsan/../sanitizer_common/.libs/libsanitizer_common.a") libtool: link: (cd .libs/libubsan.lax/libinterception.a && /usr/bin/ar x "/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer/ubsan/../interception/.libs/libinterception.a") libtool: link: (cd .libs/libubsan.lax/libsanitizer_libbacktrace.a && /usr/bin/ar x "/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer/ubsan/../libbacktrace/.libs/libsanitizer_libbacktrace.a") libtool: link: /usr/bin/ar rc .libs/libubsan.a ubsan_diag.o ubsan_flags.o ubsan_handlers.o ubsan_handlers_cxx.o ubsan_init.o ubsan_monitor.o ubsan_type_hash.o ubsan_type_hash_itanium.o ubsan_type_hash_win.o ubsan_value.o .libs/libubsan.lax/libsanitizer_common.a/sancov_flags.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_allocator.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_allocator_checks.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_allocator_report.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_common.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_common_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_coverage_libcdep_new.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_deadlock_detector1.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_deadlock_detector2.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_errno.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_file.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_flag_parser.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_flags.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_libc.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_libignore.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_linux.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_linux_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_linux_s390.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_mac.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_mac_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_mutex.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_netbsd.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_openbsd.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_platform_limits_freebsd.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_platform_limits_linux.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_platform_limits_openbsd.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_platform_limits_posix.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_platform_limits_solaris.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_posix.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_posix_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_printf.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_procmaps_bsd.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_procmaps_common.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_procmaps_linux.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_procmaps_mac.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_procmaps_solaris.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_solaris.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stackdepot.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stacktrace.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stacktrace_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stacktrace_printer.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stacktrace_sparc.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stoptheworld_linux_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_stoptheworld_mac.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_suppressions.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_libbacktrace.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_mac.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_posix_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_report.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_symbolizer_win.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_termination.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_thread_registry.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_tls_get_addr.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_unwind_linux_libcdep.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_unwind_win.o .libs/libubsan.lax/libsanitizer_common.a/sanitizer_win.o .libs/libubsan.lax/libinterception.a/interception_linux.o .libs/libubsan.lax/libinterception.a/interception_mac.o .libs/libubsan.lax/libinterception.a/interception_type_test.o .libs/libubsan.lax/libinterception.a/interception_win.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/atomic.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/bridge.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/cp-demangle.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/dwarf.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/elf.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/fileline.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/mmap.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/mmapio.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/posix.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/sort.o .libs/libubsan.lax/libsanitizer_libbacktrace.a/state.o libtool: link: /usr/bin/ranlib .libs/libubsan.a libtool: link: rm -fr .libs/libubsan.lax libtool: link: ( cd ".libs" && rm -f "libubsan.la" && ln -s "../libubsan.la" "libubsan.la" ) make[4]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer/ubsan' make[4]: Entering directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=/opt/bw/build/gcc-12.1.0/missing makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/bash" "RUNTESTFLAGS=" "exec_prefix=/opt/gcc/imed/gcc12" "infodir=/opt/gcc/imed/gcc12/share/info" "libdir=/opt/gcc/imed/gcc12/lib" "prefix=/opt/gcc/imed/gcc12" "includedir=/opt/gcc/imed/gcc12/include" "AR=/usr/bin/ar" "AS=/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/as" "LD=/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/collect-ld" "LIBCFLAGS=-g -O2" "NM=/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/./gcc/nm" "PICFLAG=" "RANLIB=/usr/bin/ranlib" "DESTDIR=" DO=all multi-do # make make[5]: Entering directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make[5]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make[4]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make[3]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make[2]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005/armv7l-unknown-linux-gnueabihf/libsanitizer' make[1]: Leaving directory '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.005' make: *** [Makefile:30619: bootstrap4] Error 2 Command exited with non-zero status 2 real 56379.30 user 64098.10 sys 3664.37 io$ Yes, this really did take 15 hours and 39 minutes to get to this point. io$ cat stage_current stage4 io$ If anyone wonders why the bootstrap4 then the only answer I have is "why not?" given what I see at : https://gcc.gnu.org/install/build.html make BOOT_CFLAGS='-O' bootstrap You can place non-default optimization flags into BOOT_CFLAGS; they are less well tested here than the default of ‘-g -O2’, but should still work. In a few cases, you may find that you need to specify special flags such as -msoft-float here to complete the bootstrap; or, if the native compiler miscompiles the stage1 compiler, you may need to work around this, by choosing BOOT_CFLAGS to avoid the parts of the stage1 compiler that were miscompiled, or by using ‘make bootstrap4’ to increase the number of stages of bootstrap. Well, after some messing around I did need to use --enable-multiarch and the mysterious --with-float=hard in configure. I wonder if I can get away with just using those for stage1 ? That is a whole other question but for now I am curious what the error could be all the way into stage4 as seen above? Any thoughts? -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional