gdb/gdb-6.3-ppc64displaysymbol-20041124.patch
Sergio Durigan Junior a8767b37e5 8.0.50.20171204-34.fc26
- chmod +x on the generate-*.sh script.s
- Remove references to gdb-8.0.1 from 'sources' and '.gitignore'.
- Regenerate first line of the patches (remove commit hash).
- Fix empty Source line.
2017-12-10 17:00:49 -05:00

42 lines
1.3 KiB
Diff

From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Andrew Cagney <cagney@gnu.org>
Date: Fri, 27 Oct 2017 21:07:50 +0200
Subject: gdb-6.3-ppc64displaysymbol-20041124.patch
FileName: gdb-6.3-ppc64displaysymbol-20041124.patch
;; Include the pc's section when doing a symbol lookup so that the
;; correct symbol is found.
;;=push: Write new testcase.
2004-11-24 Andrew Cagney <cagney@gnu.org>
* printcmd.c (build_address_symbolic): Find a section for the
address.
---
gdb/printcmd.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 2e596d1f09..20e5bda11e 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -602,6 +602,14 @@ build_address_symbolic (struct gdbarch *gdbarch,
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. */
--
2.14.3