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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
LGTM.  But as I said, it could be useful to look for other symbols too.
Looking at i686 glibc, I see
for j in /lib/libc.so.6 /lib/libpthread.so.0 /lib/libm.so.6; do for i in
`readelf -Ws $j | grep -v ' UND ' | awk '{print $8}' | grep -v GLIBC_PRIVATE |
grep '[^@]@[^@]' | sed 's/@.*$//' | sort -u`; do readelf -Ws $j | grep -v ' UND
' | awk '{print $8}' | grep -v GLIBC_PRIVATE | grep -q ^${i}@@ && echo $i;
done; done
alphasort64
chown
clock_getcpuclockid
clock_getres
clock_gettime
clock_nanosleep
clock_settime
fclose
fcntl
fdopen
fgetpos
fgetpos64
fmemopen
fnmatch
fopen
fopencookie
fsetpos
fsetpos64
__fxstat64
getaliasbyname_r
getaliasent_r
getgrent_r
getgrgid_r
getgrnam_r
gethostbyaddr_r
gethostbyname2_r
gethostbyname_r
gethostent_r
getnetbyaddr_r
getnetbyname_r
getnetent_r
getprotobyname_r
getprotobynumber_r
getprotoent_r
getpwent_r
getpwnam_r
getpwuid_r
getrlimit
getrlimit64
getrpcbyname_r
getrpcbynumber_r
getrpcent_r
getservbyname_r
getservbyport_r
getservent_r
getspent_r
getspnam_r
glob
glob64
_IO_do_write
_IO_fclose
_IO_fdopen
_IO_fgetpos
_IO_fgetpos64
_IO_file_attach
_IO_file_close_it
_IO_file_finish
_IO_file_fopen
_IO_file_init
_IO_file_overflow
_IO_file_seekoff
_IO_file_setbuf
_IO_file_sync
_IO_file_underflow
_IO_file_write
_IO_file_xsputn
_IO_fopen
_IO_fsetpos
_IO_fsetpos64
_IO_popen
_IO_proc_close
_IO_proc_open
localeconv
__lxstat64
msgctl
nftw
nftw64
pclose
popen
posix_fadvise64
posix_fallocate64
posix_spawn
posix_spawnp
pthread_attr_init
pthread_attr_setaffinity_np
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_getaffinity_np
pthread_getattr_np
pthread_sigmask
quick_exit
readdir64
readdir64_r
realpath
regexec
scandir64
sched_getaffinity
sched_setaffinity
semctl
setrlimit
shmctl
tmpfile
versionsort64
vm86
__xstat64
pthread_attr_getaffinity_np
pthread_cond_broadcast
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_create
pthread_setaffinity_np
sem_destroy
sem_getvalue
sem_init
sem_post
sem_trywait
sem_wait
exp
exp10f
exp2
exp2f
expf
feclearexcept
fegetenv
fegetexceptflag
feraiseexcept
fesetenv
fesetexceptflag
feupdateenv
lgamma
lgammaf
lgammal
log
log2
log2f
logf
pow
powf
totalorder
totalorderf
totalorderf128
totalorderf32
totalorderf32x
totalorderf64
totalorderf64x
totalorderl
totalordermag
totalordermagf
totalordermagf128
totalordermagf32
totalordermagf32x
totalordermagf64
totalordermagf64x
totalordermagl

On x86_64:
for j in /lib64/libc.so.6 /lib64/libpthread.so.0 /lib64/libm.so.6; do for i in
`readelf -Ws $j | grep -v ' UND ' | awk '{print $8}' | grep -v GLIBC_PRIVATE |
grep '[^@]@[^@]' | sed 's/@.*$//' | sort -u`; do readelf -Ws $j | grep -v ' UND
' | awk '{print $8}' | grep -v GLIBC_PRIVATE | grep -q ^${i}@@ && echo $i;
done; done
clock_getcpuclockid
clock_getres
clock_gettime
clock_nanosleep
clock_settime
fmemopen
glob
glob64
memcpy
nftw
nftw64
posix_spawn
posix_spawnp
pthread_attr_setaffinity_np
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_getaffinity_np
pthread_getattr_np
pthread_sigmask
quick_exit
realpath
regexec
sched_getaffinity
sched_setaffinity
pthread_attr_getaffinity_np
pthread_cond_broadcast
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_setaffinity_np
exp
exp10f
exp2
exp2f
expf
lgamma
lgammaf
lgammal
log
log2
log2f
logf
pow
powf
totalorder
totalorderf
totalorderf128
totalorderf32
totalorderf32x
totalorderf64
totalorderf64x
totalorderl
totalordermag
totalordermagf
totalordermagf128
totalordermagf32
totalordermagf32x
totalordermagf64
totalordermagf64x
totalordermagl

So, which of these are interposed by sanitizers?

Reply via email to