[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Fix symbol lookup for mips64* targets
From: |
Stefan Weil |
Subject: |
[Qemu-devel] [PATCH] Fix symbol lookup for mips64* targets |
Date: |
Thu, 02 Oct 2008 21:26:31 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.16 (X11/20080724) |
For 64 bit targets, lookup_symbol() compares a 64-bit target address
with a 32 bit symbol address. This only works for addresses less than 2^32.
MIPS64 kernels use addresses larger than 0xffffffff80000000,
so qemu.log never shows symbolic names.
My patch is a workaround which works with Qemu's 32 bit address hack.
Please apply it to Qemu trunk.
Maybe a better solution would use symbol addresses without shortening
them to 32 bits.
Regards
Stefan
Fix symbol lookup for mips64* targets.
Signed-off-by: Stefan Weil <address@hidden>
Index: disas.c
===================================================================
--- disas.c (Revision 5400)
+++ disas.c (Arbeitskopie)
@@ -309,6 +309,11 @@
struct syminfo *s;
target_ulong addr;
+#if defined(TARGET_MIPS64)
+ /* Adresses in syminfos are 32 bit values. */
+ orig_addr &= 0xffffffff;
+#endif
+
for (s = syminfos; s; s = s->next) {
sym = s->disas_symtab;
for (i = 0; i < s->disas_num_syms; i++) {
- [Qemu-devel] [PATCH] Fix symbol lookup for mips64* targets,
Stefan Weil <=
Re: [Qemu-devel] [PATCH] Fix symbol lookup for mips64* targets, Thiemo Seufer, 2008/10/02