1
0
Fork 0
forked from len0rd/rockbox

imxtools/sbtools: "fix" address handling in ELF

This is a common problem that proprietary tools don't handle ELF
files correctly. ELF sections use a virtual address and the
virtual -> physical translation is done though segments. This
allows to have a load (physical) address different from the
virtual one. Here is the trick: proprietary tools usually don't
take the pain to do the translation and just grab the virtual
address. This commit implements proper translation in elftosb1
knowing that this introduce a deviation from the behaviour of the
proprietary tool.

Change-Id: I91721a3a8dead382a0603f84ae3b35c5eb9704eb
This commit is contained in:
Amaury Pouly 2012-12-16 21:23:33 +01:00
parent 1e2e79d668
commit 47f6d77690

View file

@ -377,7 +377,7 @@ static int load_elf(struct sb1_file_t *sb, const char *filename, int act)
fclose(fd);
if(!loaded)
bug("error loading elf file '%s'\n", filename);
//elf_translate_addresses(&elf);
elf_translate_addresses(&elf);
elf_sort_by_address(&elf);
struct elf_section_t *esec = elf.first_section;