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

--- Comment #3 from Jens Seidel <jensseidel at users dot sf.net> ---
(In reply to Martin Liška from comment #1)
> Hm, I can't reproduce that with any version of GCC I have:

Was trying it now also on other computers:

On Debian 9 with g++ 6.3 and libc-2.24.so it works well, on Ubuntu 18.04 with
g++ 7.4.0 (libc-2.27.so) and Ubuntu 16.04 with g++-8, g++-7, g++-6, g++-5
(libc-2.23.so) I get:

$ ./main 
==10179==AddressSanitizer CHECK failed:
../../../../src/libsanitizer/asan/asan_interceptors.cc:384
"((__interception::real___cxa_throw)) != (0)" (0x0, 0x0)
    #0 0x7f7030b3ac02  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe9c02)
    #1 0x7f7030b59595 in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)
(/usr/lib/x86_64-linux-gnu/libasan.so.4+0x108595)
    #2 0x7f7030a8926c in __interceptor___cxa_throw
(/usr/lib/x86_64-linux-gnu/libasan.so.4+0x3826c)
    #3 0x7f702cffdc04 in foo /home/seidel/tmp/shlib.cpp:4
    #4 0x7f702cffdc12 in bar /home/seidel/tmp/shlib.cpp:13
    #5 0x55eb62962bf9 in main /home/seidel/tmp/main.c:11
    #6 0x7f703047db96 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
    #7 0x55eb62962a89 in _start (/home/seidel/tmp/main+0xa89)

On macOS (x86_64-apple-darwin18.6.0) it works, on SLES 12.0 (Suse) with g++
4.8.5 I get:
$ ./main
==7984== ERROR: AddressSanitizer failed to allocate 0xdfff0001000
(15392894357504) bytes at address 0x02008fff7000 (12)
==7984== ReserveShadowMemoryRange failed while trying to map 0xdfff0001000
bytes. Perhaps you're using ulimit -v
Aborted

My affected system I reported initially is a Ubuntu 16.04 (libc-2.23.so). The
other report refers to a Red Hat system.

What can I do?

Reply via email to