Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: segfault in ld.elf_so
On Thu, 29 Jan 2026, Thomas Klausner wrote:
Looking for relro PRs, I found
https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57792
Could this be related?
Different issue, I think. PR 57792 is a segfault when doing ifunc relocations.
This one seems to be happening when doing the standard PLT relocations.
(gdb) br main
Breakpoint 1 at 0x6164
(gdb) r
Starting program: .../work/webkitgtk-2.50.4/tmp-introspectyh2m43hy/WebKit2WebExtension-4.1
Program received signal SIGSEGV, Segmentation fault.
_rtld_relocate_plt_object (obj=<optimized out>, rela=0x793ddd29b7d0, tp=<synthetic pointer>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:354
354 *where = new_value;
(gdb) bt
#0 _rtld_relocate_plt_object (obj=<optimized out>, rela=0x793ddd29b7d0, tp=<synthetic pointer>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:354
#1 _rtld_bind (obj=<optimized out>, reloff=<optimized out>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:372
#2 0x00007f7ff7cb105d in _rtld_bind_start () from /usr/libexec/ld.elf_so
#3 0x0000000000000000 in ?? ()
Since the linker crashes way before main() is ever called, what you should do
is:
1. Uncomment the debug defines in the Makefile and set COPTS to `-Og'.
2. Run the program with the new ld.elf_so and collect the (copious) debug
output.
3. Run `readelf -Wa' on the program and the library it is crashing on when
doing the PLT reloc. (if, indeed, it's crashing fixing up a library rather
than the executable).
Post all these outputs.
-RVP
Home |
Main Index |
Thread Index |
Old Index