This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

impossible to resolve symbols in same binary loaded twice with dlmopen


hi,

A couple of months ago, I reported on the gdb mailing-list this issue:
http://sourceware.org/ml/gdb/2010-02/msg00027.html (the original
report mentionned a crash which happened with a different program
loader but the root cause of the problem is the same as the one
mentionned here) and tom tromey gave hints on how it could be fixed.
It took me a while to eventually put together a patch and a reduced
testcase for this issue but here it is in the bugzilla database:
http://sourceware.org/bugzilla/show_bug.cgi?id=11766

For convenience, this email contains the reduced testcase and patch
attached. Here is the associated ChangeLog entry:

2010-XX-XX Mathieu Lacage <mathieu.lacage@inria.fr>

        Fix PR/gdb 11766: gdb does not resolve correctly symbols in
binaries loaded twice with dlmopen

        Because the name of an inferior binary present in the linkmap
is not sufficient for the test of uniqueness, of an entry in the list
of objfiles, we ensure uniqueness with an extra equality condition,
the addr_low member of the binary.

        * gdb/objfiles.h: add addr_low member variable
        * gdb/solib.c (solib_read_symbols): check for addr_low in
equality test for objfile, initialize addr_low if needed.


I really care about fixing this issue because it hits me and a lot of
my users and asking them to recompile gdb with a patch is not fun in
the long run. I am looking forward to fix this upstream so, please,
let me know what I can do to help with the resolution of this issue.

Mathieu
-- 
Mathieu Lacage <mathieu.lacage@gmail.com>

Attachment: test.tar.gz
Description: GNU Zip compressed data

Attachment: gdb.patch
Description: Binary data


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