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