Disassembler symbol lookup fix
authorPaul Brook <paul@codesourcery.com>
Mon, 1 Mar 2010 03:55:48 +0000 (03:55 +0000)
committerPaul Brook <paul@codesourcery.com>
Mon, 1 Mar 2010 04:39:50 +0000 (04:39 +0000)
Fix function signature for userspace disassembler symbol lookup.

Signed-off-by: Paul Brook <paul@codesourcery.com>
disas.h
linux-user/elfload.c

diff --git a/disas.h b/disas.h
index 06abab2..6a9332d 100644 (file)
--- a/disas.h
+++ b/disas.h
@@ -22,7 +22,11 @@ struct syminfo;
 struct elf32_sym;
 struct elf64_sym;
 
+#if defined(CONFIG_USER_ONLY)
+typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr);
+#else
 typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_phys_addr_t orig_addr);
+#endif
 
 struct syminfo {
     lookup_symbol_t lookup_symbol;
index 1d5f651..71ed2d6 100644 (file)
@@ -1448,10 +1448,10 @@ static void load_symbols(struct elfhdr *hdr, int fd)
     s->disas_num_syms = nsyms;
 #if ELF_CLASS == ELFCLASS32
     s->disas_symtab.elf32 = syms;
-    s->lookup_symbol = (lookup_symbol_t)lookup_symbolxx;
+    s->lookup_symbol = lookup_symbolxx;
 #else
     s->disas_symtab.elf64 = syms;
-    s->lookup_symbol = (lookup_symbol_t)lookup_symbolxx;
+    s->lookup_symbol = lookup_symbolxx;
 #endif
     s->next = syminfos;
     syminfos = s;