This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/20019] Program received signal SIGSEGV, Segmentation fault
- From: "carlos at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 28 Apr 2016 15:35:59 +0000
- Subject: [Bug dynamic-link/20019] Program received signal SIGSEGV, Segmentation fault
- Auto-submitted: auto-generated
- References: <bug-20019-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=20019
Carlos O'Donell <carlos at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |carlos at redhat dot com
--- Comment #1 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to H.J. Lu from comment #0)
> The problem is libbar.so doesn't have DT_NEEDED for libc.so.6.
>
> [hjl@gnu-6 now-2]$ readelf -r libbar.so
>
> Relocation section '.rela.plt' at offset 0x240 contains 1 entries:
> Offset Info Type Sym. Value Sym. Name +
> Addend
> 000000001410 000200000007 R_X86_64_JUMP_SLO 0000000000000000 memmove + 0
> [hjl@gnu-6 now-2]$
>
> is resolved due to -z now before libc.so.
This is a corner case you can't get right.
The __builtin_memmove has an implicit dependency on libc.so.6's memmove.
Either your static linker is smart enough to notice this and add libc.so.6 to
the DT_NEEDED, or you always add libc.so.6 to the DT_NEEDED unless your in some
kind of freestanding mode.
I don't see how this is the fault of the dynamic linker?
--
You are receiving this mail because:
You are on the CC list for the bug.