diff options
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index ec0d6c1..87b1448 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -631,7 +631,7 @@ build_address_symbolic (struct gdbarch *gdbarch, int *line, /* OUT */ int *unmapped) /* OUT */ { - struct minimal_symbol *msymbol; + struct bound_minimal_symbol msymbol; struct symbol *symbol; CORE_ADDR name_location = 0; struct obj_section *section = NULL; @@ -661,7 +661,7 @@ build_address_symbolic (struct gdbarch *gdbarch, save some memory, but for many debug format--ELF/DWARF or anything/stabs--it would be inconvenient to eliminate those minimal symbols anyway). */ - msymbol = lookup_minimal_symbol_by_pc_section (addr, section).minsym; + msymbol = lookup_minimal_symbol_by_pc_section (addr, section); symbol = find_pc_sect_function (addr, section); if (symbol) @@ -680,40 +680,40 @@ build_address_symbolic (struct gdbarch *gdbarch, name_temp = SYMBOL_LINKAGE_NAME (symbol); } - if (msymbol != NULL - && MSYMBOL_HAS_SIZE (msymbol) - && MSYMBOL_SIZE (msymbol) == 0 - && MSYMBOL_TYPE (msymbol) != mst_text - && MSYMBOL_TYPE (msymbol) != mst_text_gnu_ifunc - && MSYMBOL_TYPE (msymbol) != mst_file_text) - msymbol = NULL; + if (msymbol.minsym != NULL + && MSYMBOL_HAS_SIZE (msymbol.minsym) + && MSYMBOL_SIZE (msymbol.minsym) == 0 + && MSYMBOL_TYPE (msymbol.minsym) != mst_text + && MSYMBOL_TYPE (msymbol.minsym) != mst_text_gnu_ifunc + && MSYMBOL_TYPE (msymbol.minsym) != mst_file_text) + msymbol.minsym = NULL; - if (msymbol != NULL) + if (msymbol.minsym != NULL) { - if (MSYMBOL_VALUE_ADDRESS (msymbol) > name_location || symbol == NULL) + if (BMSYMBOL_VALUE_ADDRESS (msymbol) > name_location || symbol == NULL) { /* If this is a function (i.e. a code address), strip out any non-address bits. For instance, display a pointer to the first instruction of a Thumb function as <function>; the second instruction will be <function+2>, even though the pointer is <function+3>. This matches the ISA behavior. */ - if (MSYMBOL_TYPE (msymbol) == mst_text - || MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc - || MSYMBOL_TYPE (msymbol) == mst_file_text - || MSYMBOL_TYPE (msymbol) == mst_solib_trampoline) + if (MSYMBOL_TYPE (msymbol.minsym) == mst_text + || MSYMBOL_TYPE (msymbol.minsym) == mst_text_gnu_ifunc + || MSYMBOL_TYPE (msymbol.minsym) == mst_file_text + || MSYMBOL_TYPE (msymbol.minsym) == mst_solib_trampoline) addr = gdbarch_addr_bits_remove (gdbarch, addr); /* The msymbol is closer to the address than the symbol; use the msymbol instead. */ symbol = 0; - name_location = MSYMBOL_VALUE_ADDRESS (msymbol); + name_location = BMSYMBOL_VALUE_ADDRESS (msymbol); if (do_demangle || asm_demangle) - name_temp = MSYMBOL_PRINT_NAME (msymbol); + name_temp = MSYMBOL_PRINT_NAME (msymbol.minsym); else - name_temp = MSYMBOL_LINKAGE_NAME (msymbol); + name_temp = MSYMBOL_LINKAGE_NAME (msymbol.minsym); } } - if (symbol == NULL && msymbol == NULL) + if (symbol == NULL && msymbol.minsym == NULL) return 1; /* If the nearest symbol is too far away, don't print anything symbolic. */ @@ -1126,7 +1126,7 @@ sym_info (char *arg, int from_tty) struct cleanup *old_chain; matches = 1; - offset = sect_addr - MSYMBOL_VALUE_ADDRESS (msymbol); + offset = sect_addr - MSYMBOL_VALUE_ADDRESS (objfile, msymbol); mapped = section_is_mapped (osect) ? _("mapped") : _("unmapped"); sec_name = osect->the_bfd_section->name; msym_name = MSYMBOL_PRINT_NAME (msymbol); @@ -1225,7 +1225,7 @@ address_info (char *exp, int from_tty) struct objfile *objfile = msymbol.objfile; gdbarch = get_objfile_arch (objfile); - load_addr = MSYMBOL_VALUE_ADDRESS (msymbol.minsym); + load_addr = BMSYMBOL_VALUE_ADDRESS (msymbol); printf_filtered ("Symbol \""); fprintf_symbol_filtered (gdb_stdout, exp, @@ -1367,7 +1367,7 @@ address_info (char *exp, int from_tty) else { section = MSYMBOL_OBJ_SECTION (msym.objfile, msym.minsym); - load_addr = MSYMBOL_VALUE_ADDRESS (msym.minsym); + load_addr = BMSYMBOL_VALUE_ADDRESS (msym); if (section && (section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0) |