This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/20019] Program received signal SIGSEGV, Segmentation fault


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]