diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-09-20 14:58:02 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-09-20 14:58:02 +0000 |
commit | ca20cf32ab3d945155141ef737f5d08ebb373e1d (patch) | |
tree | 45515350fdf7b5322658095beec591565a78506d /linux-user/elfload.c | |
parent | a333cd7166d12397635e16dcade28da5ba8ec7b3 (diff) | |
download | hqemu-ca20cf32ab3d945155141ef737f5d08ebb373e1d.zip hqemu-ca20cf32ab3d945155141ef737f5d08ebb373e1d.tar.gz |
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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 10d4781..7c8e771 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; |