GDB loading incorrect version library
Jeffrey Walton
noloader@gmail.com
Fri Jan 15 07:30:11 GMT 2021
Hi Everyone,
I'm trying to investigate a Bash crash when Bash is instrumented with
Asan. I've got Bash and all of its dependencies built/installed at
~/ok2delete-asan. All of them are built with Asan.
GDB startup shows:
$ gdb ~/ok2delete-asan/bin/bash
gdb: /usr/local/lib/libncursesw.so.6: no version information
available (required by gdb)
It appears GDB is not loading the proper version of Ncurses:
(gdb) shell readelf -d ~/ok2delete-asan/bin/bash | grep -E 'RPATH|RUNPATH'
0x000000000000001d (RUNPATH) Library runpath:
[$ORIGIN/../lib:/home/jwalton/ok2delete-asan/lib]
And (slightly trimmed):
(gdb) shell ldd ~/ok2delete-asan/bin/bash
linux-vdso.so.1 (0x00007ffde6bfc000)
libasan.so.5 => /usr/lib/x86_64-linux-gnu/libasan.so.5
libiconv.so.2 => /home/jwalton/ok2delete-asan/bin/../lib/libiconv.so.2
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
libtinfow.so.6 => /home/jwalton/ok2delete-asan/bin/../lib/libtinfow.so.6
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
/lib64/ld-linux-x86-64.so.2
All of the warez built use the same RUNPATH.
How do I tell GDB to use the RUNPATH set in the binary?
Thanks in advance.
More information about the Gdb
mailing list