qemu-devel
[Top][All Lists]
Advanced

[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++) {

reply via email to

[Prev in Thread] Current Thread [Next in Thread]