[Bug sanitizer/84285] New: Fail to statically link with -fsanitize=undefined
marcandre.lureau at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Feb 8 14:34:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84285
Bug ID: 84285
Summary: Fail to statically link with -fsanitize=undefined
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: marcandre.lureau at gmail dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org
Target Milestone: ---
With gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) (fedora 27)
int main(int argc, char **argv) {
int k = 0x7fffffff;
k += argc;
return 0;
}
$ clang -static -fsanitize=undefined test.c
vs
$ gcc -static -fsanitize=undefined test.c
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_linux_libcdep.o): In
function `__sanitizer::GetThreadStackTopAndBottom(bool, unsigned long*,
unsigned long*)':
(.text+0x551): undefined reference to `pthread_attr_init'
(.text+0x556): undefined reference to `pthread_self'
(.text+0x561): undefined reference to `pthread_getattr_np'
(.text+0x599): undefined reference to `pthread_attr_destroy'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_linux_libcdep.o): In
function `__sanitizer::SetEnv(char const*, char const*)':
(.text+0x70b): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_linux_libcdep.o): In
function `__sanitizer::InitTlsSize()':
(.text+0x843): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_posix_libcdep.o): In
function `__sanitizer::GetNamedMappingFd(char const*, unsigned long)':
(.text+0x747): undefined reference to `shm_open'
(.text+0x763): undefined reference to `shm_unlink'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_posix_libcdep.o): In
function `__sanitizer::AdjustStackSize(void*)':
(.text+0xa8f): undefined reference to `pthread_attr_setstacksize'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_posix_libcdep.o): In
function `__sanitizer::GetThreadSelf()':
(.text+0x1d1): undefined reference to `pthread_self'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_posix_libcdep.o): In
function `__sanitizer::my_pthread_attr_getstack(void*, void**, unsigned
long*)':
(.text+0x9b1): undefined reference to `pthread_attr_getstack'
/usr/lib/gcc/x86_64-redhat-linux/7/libubsan.a(sanitizer_symbolizer_posix_libcdep.o):
In function `__sanitizer::Symbolizer::LateInitialize()':
(.text+0x7e3): undefined reference to `dlsym'
collect2: error: ld returned 1 exit status
More information about the Gcc-bugs
mailing list