diff options
author | Joel Brobecker <brobecker@gnat.com> | 2012-06-05 13:50:40 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2012-06-05 13:50:40 +0000 |
commit | 67ff19f7de8c61147c5401c7f56ad30fda0f5491 (patch) | |
tree | f0545b792e6b7ddbfab091e3eb96a4b98948629f /gdb/findvar.c | |
parent | c56e7c4390ed81ff5466f3415198e91ee63a0744 (diff) | |
download | binutils-67ff19f7de8c61147c5401c7f56ad30fda0f5491.zip binutils-67ff19f7de8c61147c5401c7f56ad30fda0f5491.tar.gz binutils-67ff19f7de8c61147c5401c7f56ad30fda0f5491.tar.bz2 |
Revert "Search global symbols from the expression's block objfile first."
The search order used in this patch breaks global symbol lookups
for certain symbols when copy-relocation is used. A slightly different
search order will be implemented later.
gdb/ChangeLog:
Revert the following patch:
* findvar.c (default_read_var_value): For LOC_UNRESOLVED symbols,
try locating the symbol in the symbol's own objfile first, before
extending the search to all objfiles.
* symtab.c (lookup_symbol_aux_objfile): New function, extracted
out of lookup_symbol_aux_symtabs.
(lookup_symbol_aux_symtabs): Add new parameter "exclude_objfile".
Replace extracted-out code by call to lookup_symbol_aux_objfile.
Do not search EXCLUDE_OBJFILE.
(lookup_static_symbol_aux): Update call to lookup_symbol_aux_symtabs.
(lookup_symbol_global): Search for matches in the block's objfile
first, before searching all other objfiles.
Diffstat (limited to 'gdb/findvar.c')
-rw-r--r-- | gdb/findvar.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/gdb/findvar.c b/gdb/findvar.c index ed7903c..9009e6f 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -562,15 +562,7 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) struct minimal_symbol *msym; struct obj_section *obj_section; - /* First, try locating the associated minimal symbol within - the same objfile. This prevents us from selecting another - symbol with the same name but located in a different objfile. */ - msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (var), NULL, - SYMBOL_SYMTAB (var)->objfile); - /* If the lookup failed, try expanding the search to all - objfiles. */ - if (msym == NULL) - msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (var), NULL, NULL); + msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (var), NULL, NULL); if (msym == NULL) error (_("No global symbol \"%s\"."), SYMBOL_LINKAGE_NAME (var)); if (overlay_debugging) |