summaryrefslogtreecommitdiff
path: root/linux-user/elfload.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2009-09-20 14:58:02 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-09-20 14:58:02 +0000
commit81a469982ed579f6fa129c90446b034756134ed0 (patch)
tree45515350fdf7b5322658095beec591565a78506d /linux-user/elfload.c
parent4440696f2985e6e5430056e4054c169353cffff2 (diff)
downloadqemu-81a469982ed579f6fa129c90446b034756134ed0.tar.gz
qemu-81a469982ed579f6fa129c90446b034756134ed0.tar.bz2
qemu-81a469982ed579f6fa129c90446b034756134ed0.zip
Compile loader only once
Callers must pass ELF machine, byte swapping and symbol LSB clearing information to ELF loader. A.out loader needs page size information, pass that too as a parameter. Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw. Adjust callers. Also use target_phys_addr_t instead of target_ulong for addresses: loader addresses aren't virtual. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r--linux-user/elfload.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 10d4781da8..7c8e771df1 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1315,10 +1315,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_symbolxx;
+ s->lookup_symbol = (lookup_symbol_t)lookup_symbolxx;
#else
s->disas_symtab.elf64 = syms;
- s->lookup_symbol = lookup_symbolxx;
+ s->lookup_symbol = (lookup_symbol_t)lookup_symbolxx;
#endif
s->next = syminfos;
syminfos = s;