https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82048
Bug ID: 82048 Summary: [7 Regression] GCC bootstrap fails in stage1 on sparc-unknown-linux-gnu Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: aaro.koskinen at iki dot fi Target Milestone: --- When trying bootstrap GCC 7.2 with: ../gcc-7.2.0/configure --with-cpu=ultrasparc --enable-targets=all --disable-libsanitizer --disable-nls --prefix=/home/aaro/gcctest/newcompiler --enable-languages=c,c++ --host=sparc-unknown-linux-gnu --build=sparc-unknown-linux-gnu --target=sparc-unknown-linux-gnu --with-system-zlib --with-sysroot=/ gives: checking whether the target supports .symver directive... yes configure: versioning on shared library symbols is gnu checking whether the target supports __sync_*_compare_and_swap... yes configure: updating cache ./config.cache configure: error: unsupported system, cannot find sizeof (omp_lock_t) sparc-unknown-linux-gnu/64/libgomp/config.log tells: configure:16738: /home/aaro/gcctest/build/./gcc/xgcc -B/home/aaro/gcctest/build/ ./gcc/ -B/home/aaro/gcctest/newcompiler/sparc-unknown-linux-gnu/bin/ -B/home/aar o/gcctest/newcompiler/sparc-unknown-linux-gnu/lib/ -isystem /home/aaro/gcctest/n ewcompiler/sparc-unknown-linux-gnu/include -isystem /home/aaro/gcctest/newcompil er/sparc-unknown-linux-gnu/sys-include -m64 -o conftest -g -O2 -pthread -pthrea d -include confdefs.h -include ../../../../gcc-7.2.0/libgomp/config/posix/omp-lo ck.h conftest.c -ldl >&5 /tmp/ccyUji5P.o: In function `main': /home/aaro/gcctest/build/sparc-unknown-linux-gnu/64/libgomp/conftest.c:80: undef ined reference to `__nldbl_fprintf' collect2: error: ld returned 1 exit status configure:16738: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU Offloading and Multi Processing Runtime Library" | #define PACKAGE_TARNAME "libgomp" | #define PACKAGE_VERSION "1.0" | #define PACKAGE_STRING "GNU Offloading and Multi Processing Runtime Library 1. 0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "http://www.gnu.org/software/libgomp/" | #define PACKAGE "libgomp" | #define VERSION "1.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define STDC_HEADERS 1 | #define TIME_WITH_SYS_TIME 1 | #define STRING_WITH_STRINGS 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_SEMAPHORE_H 1 | #define HAVE_SYS_SYSCTL_H 1 | #define HAVE_SYS_TIME_H 1 | #define LIBGOMP_USE_PTHREADS 1 | #define HAVE_LIBDL 1 | #define PLUGIN_SUPPORT 1 | #define HAVE_UNISTD_H 1 | #define HAVE_SECURE_GETENV 1 | #define HAVE_GETUID 1 | #define HAVE_GETEUID 1 | #define HAVE_GETGID 1 | #define HAVE_GETEGID 1 | #define OFFLOAD_TARGETS "" | #define PLUGIN_NVPTX 0 | #define PLUGIN_NVPTX_DYNAMIC 0 | #define PLUGIN_HSA 0 | #define HSA_RUNTIME_LIB "" | #define HAVE_GETLOADAVG 1 | #define HAVE_CLOCK_GETTIME 1 | #define HAVE_STRTOULL 1 | #define HAVE_PTHREAD_AFFINITY_NP 1 | #define HAVE_TLS 1 | #define HAVE_ATTRIBUTE_VISIBILITY 1 | #define HAVE_ATTRIBUTE_ALIAS 1 | #define HAVE_AS_SYMVER_DIRECTIVE 1 | #define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 | #define LIBGOMP_GNU_SYMBOL_VERSIONING 1 | #define HAVE_SYNC_BUILTINS 1 | /* end confdefs.h. */ | | static long int longval () { return sizeof (omp_lock_t); } | static unsigned long int ulongval () { return sizeof (omp_lock_t); } | #include <stdio.h> | #include <stdlib.h> | int | main () | { | | FILE *f = fopen ("conftest.val", "w"); | if (! f) | return 1; | if ((sizeof (omp_lock_t)) < 0) | { | long int i = longval (); | if (i != (sizeof (omp_lock_t))) | | fprintf (f, "%ld", i); | } | else | { | unsigned long int i = ulongval (); | if (i != (sizeof (omp_lock_t))) | return 1; | fprintf (f, "%lu", i); | } | /* Do not output a trailing newline, as this causes \r\n confusion | on some platforms. */ | return ferror (f) || fclose (f) != 0; | | ; | return 0; | } configure:16741: error: unsupported system, cannot find sizeof (omp_lock_t)