summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2010-03-01 03:55:48 +0000
committerPaul Brook <paul@codesourcery.com>2010-03-01 04:39:50 +0000
commit9f9f030928a3d17ea8b87905fafc1e447328df2d (patch)
treea4d9de05081b0d3663d8fc93b43f536ec0908f02
parent35bed8ee918b519caca37f99f741b2740a040da3 (diff)
downloadqemu-9f9f030928a3d17ea8b87905fafc1e447328df2d.tar.gz
Disassembler symbol lookup fix
Fix function signature for userspace disassembler symbol lookup. Signed-off-by: Paul Brook <paul@codesourcery.com>
-rw-r--r--disas.h4
-rw-r--r--linux-user/elfload.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/disas.h b/disas.h
index 06abab21eb..6a9332d6cc 100644
--- 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;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 1d5f6518ce..71ed2d60d1 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -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;