aboutsummaryrefslogtreecommitdiff
path: root/gdb/findvar.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-06-05 13:50:40 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-06-05 13:50:40 +0000
commit67ff19f7de8c61147c5401c7f56ad30fda0f5491 (patch)
treef0545b792e6b7ddbfab091e3eb96a4b98948629f /gdb/findvar.c
parentc56e7c4390ed81ff5466f3415198e91ee63a0744 (diff)
downloadbinutils-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.c10
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)