summaryrefslogtreecommitdiff
path: root/utils/imxtools/sbtools/elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/imxtools/sbtools/elf.c')
-rw-r--r--utils/imxtools/sbtools/elf.c15
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
798void 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
809bool elf_is_empty(struct elf_params_t *params) 798bool elf_is_empty(struct elf_params_t *params)
810{ 799{
811 return params->first_section == NULL; 800 return params->first_section == NULL;