From 47f6d77690abb7bc92cf515684f9b26385d80d25 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Sun, 16 Dec 2012 21:23:33 +0100 Subject: [PATCH] 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 --- utils/imxtools/sbtools/elftosb1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/imxtools/sbtools/elftosb1.c b/utils/imxtools/sbtools/elftosb1.c index a654b6b34a..417f7eeb46 100644 --- a/utils/imxtools/sbtools/elftosb1.c +++ b/utils/imxtools/sbtools/elftosb1.c @@ -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; -- 2.11.4.GIT