From e4f6d2ecc41bc3ab6a3a77596a40b851d0ffa4f3 Mon Sep 17 00:00:00 2001 From: Thiago Jung Bauermann Date: Wed, 26 Jan 2011 01:55:19 +0000 Subject: [PATCH] 2011-01-25 Mathieu Lacage PR/symtab 11766: * gdb/objfiles.h (struct objfile) : New field. * gdb/solib.c (solib_read_symbols): Check for addr_low in equality test for objfile, initialize addr_low if needed. --- gdb/ChangeLog | 7 +++++++ gdb/objfiles.h | 2 ++ gdb/solib.c | 4 +++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1af7d49b6b4..8704d04106c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2011-01-25 Mathieu Lacage + + PR/symtab 11766: + * gdb/objfiles.h (struct objfile) : New field. + * gdb/solib.c (solib_read_symbols): Check for addr_low in + equality test for objfile, initialize addr_low if needed. + 2011-01-25 Pedro Alves * tui/tui-regs.c (tui_register_format): Remove dead code. diff --git a/gdb/objfiles.h b/gdb/objfiles.h index c44517fd649..759c2f9fb8c 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -194,6 +194,8 @@ struct objfile char *name; + CORE_ADDR addr_low; + /* Some flag bits for this objfile. */ unsigned short flags; diff --git a/gdb/solib.c b/gdb/solib.c index 909a23b8b06..6748d8768c9 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -638,7 +638,8 @@ solib_read_symbols (struct so_list *so, int flags) /* Have we already loaded this shared object? */ ALL_OBJFILES (so->objfile) { - if (strcmp (so->objfile->name, so->so_name) == 0) + if (strcmp (so->objfile->name, so->so_name) == 0 + && so->objfile->addr_low == so->addr_low) break; } if (so->objfile != NULL) @@ -648,6 +649,7 @@ solib_read_symbols (struct so_list *so, int flags) so->sections_end); so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED); + so->objfile->addr_low = so->addr_low; free_section_addr_info (sap); } -- 2.30.2