[Bug testsuite/101751] New: asan_test.C fails with excess error with glibc-2.34

xry111 at mengyan1223 dot wang gcc-bugzilla@gcc.gnu.org
Tue Aug 3 12:43:21 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101751

            Bug ID: 101751
           Summary: asan_test.C fails with excess error with glibc-2.34
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xry111 at mengyan1223 dot wang
  Target Milestone: ---

Executing on host: /sources/gcc-11.2.0/build/gcc/testsuite/g++1/../../xg++
-B/sources/gcc-11.2.0/build/gcc/testsuite/g++1/../../ 
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.C    -fsanitize=address
-g -I/sources/gcc-11.2.0/gcc/testsuite/../../libsanitizer/include
-fdiagnostics-plain-output  -nostdinc++
-I/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-I/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include
-I/sources/gcc-11.2.0/libstdc++-v3/libsupc++
-I/sources/gcc-11.2.0/libstdc++-v3/include/backward
-I/sources/gcc-11.2.0/libstdc++-v3/testsuite/util -fmessage-length=0   -O2 
-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror
-Wno-alloc-size-larger-than -Wno-stringop-overflow -g -DASAN_UAR=0
-DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1
-lasan -lpthread -ldl -DASAN_NEEDS_SEGV=1 -DASAN_AVOID_EXPENSIVE_TESTS=1 -msse2
-D__NO_INLINE__  
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_globals_test-wrapper.cc
-dumpbase ""   -B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/ 
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/asan/ 
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/asan/.libs  
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs 
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs 
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libitm/
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libitm/.libs -lm  -o
./asan_test.exe    (timeout = 300)
spawn -ignore SIGHUP /sources/gcc-11.2.0/build/gcc/testsuite/g++1/../../xg++
-B/sources/gcc-11.2.0/build/gcc/testsuite/g++1/../../
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.C -fsanitize=address -g
-I/sources/gcc-11.2.0/gcc/testsuite/../../libsanitizer/include
-fdiagnostics-plain-output -nostdinc++
-I/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-I/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include
-I/sources/gcc-11.2.0/libstdc++-v3/libsupc++
-I/sources/gcc-11.2.0/libstdc++-v3/include/backward
-I/sources/gcc-11.2.0/libstdc++-v3/testsuite/util -fmessage-length=0 -O2
-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror
-Wno-alloc-size-larger-than -Wno-stringop-overflow -g -DASAN_UAR=0
-DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1
-lasan -lpthread -ldl -DASAN_NEEDS_SEGV=1 -DASAN_AVOID_EXPENSIVE_TESTS=1 -msse2
-D__NO_INLINE__
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_globals_test-wrapper.cc
-dumpbase  -B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/asan/
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libsanitizer/asan/.libs
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-B/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libitm/
-L/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/./libitm/.libs -lm -o
./asan_test.exe
In file included from
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.C:15:
In function 'void* TSDWorker(void*)',
    inlined from 'void* TSDWorker(void*)' at
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.cc:141:7:
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.cc:143:24: error: 'int
pthread_setspecific(pthread_key_t, const void*)' expecting 1 byte in a region
of size 0 [-Werror=stringop-overread]
In file included from
/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:35,
                 from
/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr.h:148,
                 from
/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/ext/atomicity.h:35,
                 from
/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:39,
                 from
/sources/gcc-11.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/string:55,
                 from
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test_config.h:19,
                 from
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test_utils.h:17,
                 from
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.cc:11,
                 from
/sources/gcc-11.2.0/gcc/testsuite/g++.dg/asan/asan_test.C:15:
/sources/gcc-11.2.0/build/gcc/include-fixed/pthread.h: In function 'void*
TSDWorker(void*)':
/sources/gcc-11.2.0/build/gcc/include-fixed/pthread.h:1317:12: note: in a call
to function 'int pthread_setspecific(pthread_key_t, const void*)' declared with
attribute 'access (none, 2)'
cc1plus: all warnings being treated as errors
compiler exited with status 1
FAIL: g++.dg/asan/asan_test.C   -O2  (test for excess errors)

It seems because glibc-2.34 has introduced __attribute__((__access__(...))) for
pthread_setspecific.


More information about the Gcc-bugs mailing list