[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-bugs
Subject: [Bug sanitizer/82379] New: internal_sigreturn not defined in libasan.so or libubsan.so with -mx32
From: "steven at uplinklabs dot net" <gcc-bugzilla () gcc ! gnu ! org>
Date: 2017-09-30 21:34:41
Message-ID: bug-82379-4 () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82379
Bug ID: 82379
Summary: internal_sigreturn not defined in libasan.so or
libubsan.so with -mx32
Product: gcc
Version: 7.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: steven at uplinklabs dot net
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: ---
The symbol "internal_sigreturn" isn't defined when building for the x32 ABI on
x86_64:
$ cat test.c
int main(){ return 0; }
$ gcc -mx32 -fsanitize=address -o test test.c
/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.1/../../../../libx32/libasan.so: undefined
reference to `internal_sigreturn'
collect2: error: ld returned 1 exit status
$ gcc -mx32 -fsanitize=undefined -o test test.c
/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.1/../../../../libx32/libubsan.so:
undefined reference to `internal_sigreturn'
collect2: error: ld returned 1 exit status
$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc-multilib/src/gcc/configure
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://www.uplinklabs.net/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --disable-libssp
--disable-libstdcxx-pch --disable-libunwind-exceptions --disable-werror
--enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu
--enable-gnu-indirect-function --enable-gnu-unique-object
--enable-initfini-array --enable-install-libiberty --enable-libmpx
--enable-linker-build-id --enable-lto --enable-multilib --enable-plugin
--enable-shared --enable-threads=posix --with-isl --with-linker-hash-style=gnu
--with-multilib-list=m32,m64,mx32 --with-system-zlib
Thread model: posix
gcc version 7.2.1 20170929 (GCC)
My GCC was built from latest in gcc-7-branch yesterday.
Defining something like this in my application does technically work, but
really shouldn't be necessary:
void (*internal_sigreturn)(void) = 0;=
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic