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]

Reply via email to