You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.0 KiB
24 lines
1.0 KiB
2004-11-24 Andrew Cagney <cagney@gnu.org> |
|
|
|
* printcmd.c (build_address_symbolic): Find a section for the |
|
address. |
|
|
|
Index: gdb-6.8.50.20081128/gdb/printcmd.c |
|
=================================================================== |
|
--- gdb-6.8.50.20081128.orig/gdb/printcmd.c 2008-12-04 01:36:05.000000000 +0100 |
|
+++ gdb-6.8.50.20081128/gdb/printcmd.c 2008-12-04 01:37:18.000000000 +0100 |
|
@@ -616,6 +616,14 @@ build_address_symbolic (CORE_ADDR addr, |
|
addr = overlay_mapped_address (addr, section); |
|
} |
|
} |
|
+ /* To ensure that the symbol returned belongs to the correct setion |
|
+ (and that the last [random] symbol from the previous section |
|
+ isn't returned) try to find the section containing PC. First try |
|
+ the overlay code (which by default returns NULL); and second try |
|
+ the normal section code (which almost always succeeds). */ |
|
+ section = find_pc_overlay (addr); |
|
+ if (section == NULL) |
|
+ section = find_pc_section (addr); |
|
|
|
/* First try to find the address in the symbol table, then |
|
in the minsyms. Take the closest one. */
|
|
|