diff options
Diffstat (limited to 'utils/imxtools/sbtools/elf.c')
-rw-r--r-- | utils/imxtools/sbtools/elf.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/utils/imxtools/sbtools/elf.c b/utils/imxtools/sbtools/elf.c index adf876e5c7..5017251da3 100644 --- a/utils/imxtools/sbtools/elf.c +++ b/utils/imxtools/sbtools/elf.c | |||
@@ -519,8 +519,8 @@ void elf_write_file(struct elf_params_t *params, elf_write_fn_t write, | |||
519 | phdr.p_offset = sec->offset; | 519 | phdr.p_offset = sec->offset; |
520 | else | 520 | else |
521 | phdr.p_offset = 0; | 521 | phdr.p_offset = 0; |
522 | phdr.p_paddr = sec->addr; | 522 | phdr.p_paddr = elf_translate_virtual_address(params, sec->addr); |
523 | phdr.p_vaddr = phdr.p_paddr; /* assume identity map ? */ | 523 | phdr.p_vaddr = sec->addr; /* assume identity map ? */ |
524 | phdr.p_memsz = sec->size; | 524 | phdr.p_memsz = sec->size; |
525 | if(sec->type == EST_LOAD) | 525 | if(sec->type == EST_LOAD) |
526 | phdr.p_filesz = phdr.p_memsz; | 526 | phdr.p_filesz = phdr.p_memsz; |
@@ -795,17 +795,6 @@ uint32_t elf_translate_virtual_address(struct elf_params_t *params, uint32_t add | |||
795 | return addr; | 795 | return addr; |
796 | } | 796 | } |
797 | 797 | ||
798 | void elf_translate_addresses(struct elf_params_t *params) | ||
799 | { | ||
800 | struct elf_section_t *sec = params->first_section; | ||
801 | while(sec) | ||
802 | { | ||
803 | sec->addr = elf_translate_virtual_address(params, sec->addr); | ||
804 | sec = sec->next; | ||
805 | } | ||
806 | params->start_addr = elf_translate_virtual_address(params, params->start_addr); | ||
807 | } | ||
808 | |||
809 | bool elf_is_empty(struct elf_params_t *params) | 798 | bool elf_is_empty(struct elf_params_t *params) |
810 | { | 799 | { |
811 | return params->first_section == NULL; | 800 | return params->first_section == NULL; |