http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55989
Bug #: 55989 Summary: [4.8 regresion] build failure in libsanitizer Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: sanitizer AssignedTo: unassig...@gcc.gnu.org ReportedBy: phhargr...@lbl.gov CC: do...@gcc.gnu.org, dvyu...@gcc.gnu.org, ja...@gcc.gnu.org, k...@gcc.gnu.org libsanitizer/sanitizer_common/sanitizer_linux.cc in the 4.8-20130113 snaphot contains the following calls prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0) prctl(PR_GET_NAME, (unsigned long)buff, 0, 0, 0) However, PR_{SET,GET}_NAME did not exist prior to Linux kernel version 2.6.9, resulting in build failures on Linux systems with older kernels (or even with new kernels but old headers). The failure is show below. I could find no indication in the target-specific issues in gcc/doc/install.texi to suggest that support for Linux kernel < 2.6.9 is being dropped. ADDITIONALLY, the warning (final output line below) about an unrecognized command line option appears suspicious, since this is being built with the "xgcc" compiler. -Paul libtool: compile: /usr/local/pkg/upc/nightly/compiler/bld/./gcc/xgcc -shared-libgcc -B/usr/local/pkg/upc/nightly/compiler/bld/./gcc -nostdinc++ -L/usr/local/pkg/upc/nightly/compiler/bld/i686-pc-linux-gnu/libstdc++-v3/src -L/usr/local/pkg/upc/nightly/compiler/bld/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/pkg/upc/nightly/compiler/install/i686-pc-linux-gnu/bin/ -B/usr/local/pkg/upc/nightly/compiler/install/i686-pc-linux-gnu/lib/ -isystem /usr/local/pkg/upc/nightly/compiler/install/i686-pc-linux-gnu/include -isystem /usr/local/pkg/upc/nightly/compiler/install/i686-pc-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I. -I/usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common -I /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/include -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -Wno-c99-extensions -I../../libstdc++-v3/include -I../../libstdc++-v3/include/i686-pc-linux-gnu -I/usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/../libstdc++-v3/libsupc++ -g -O2 -D_GNU_SOURCE -MT sanitizer_linux.lo -MD -MP -MF .deps/sanitizer_linux.Tpo -c /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc -fPIC -DPIC -o .libs/sanitizer_linux.o /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc: In function 'bool __sanitizer::SanitizerSetThreadName(const char*)': /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc:369:21: error: 'PR_SET_NAME' was not declared in this scope return 0 == prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0); // NOLINT ^ /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc: In function 'bool __sanitizer::SanitizerGetThreadName(char*, int)': /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc:374:13: error: 'PR_GET_NAME' was not declared in this scope if (prctl(PR_GET_NAME, (unsigned long)buff, 0, 0, 0)) // NOLINT ^ /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc: In function 'bool __sanitizer::SanitizerSetThreadName(const char*)': /usr/local/pkg/upc/nightly/compiler/gupc-src/libsanitizer/sanitizer_common/sanitizer_linux.cc:370:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ At global scope: cc1plus: warning: unrecognized command line option "-Wno-c99-extensions" [enabled by default]