summaryrefslogtreecommitdiffstats
path: root/arch/ppc64/xmon
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-06-22 02:15:30 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 03:46:26 +0200
commit6879dc137ea4efad65cab8bf8a7c0b742bcf92cc (patch)
tree13ca02150a892e97f3da20ac9cc052508cc7e8a8 /arch/ppc64/xmon
parent[PATCH] ppc32: don't recursively crash in die() on CHRP/PReP machines (diff)
downloadlinux-6879dc137ea4efad65cab8bf8a7c0b742bcf92cc.tar.xz
linux-6879dc137ea4efad65cab8bf8a7c0b742bcf92cc.zip
[PATCH] ppc32: Kill embedded system.map, use kallsyms
This patch kills the whole embedded System.map mecanism and the bootloader-passed System.map that was used to provide symbol resolution in xmon. Instead, xmon now uses kallsyms like ppc64 does. No hurry getting that in Linus tree, let it be tested in -mm for a while first and make sure it doesn't break various embedded configs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64/xmon')
-rw-r--r--arch/ppc64/xmon/xmon.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/ppc64/xmon/xmon.c b/arch/ppc64/xmon/xmon.c
index 3c0ccb2623ae..7f6e13a4b71e 100644
--- a/arch/ppc64/xmon/xmon.c
+++ b/arch/ppc64/xmon/xmon.c
@@ -2247,7 +2247,14 @@ scanhex(unsigned long *vp)
tmpstr[i] = c;
}
tmpstr[i++] = 0;
- *vp = kallsyms_lookup_name(tmpstr);
+ *vp = 0;
+ if (setjmp(bus_error_jmp) == 0) {
+ catch_memory_errors = 1;
+ sync();
+ *vp = kallsyms_lookup_name(tmpstr);
+ sync();
+ }
+ catch_memory_errors = 0;
if (!(*vp)) {
printf("unknown symbol '%s'\n", tmpstr);
return 0;