diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-08-04 21:31:54 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-08-06 21:24:38 +0200 |
commit | 8e69c37b5a8b2b9a1cf9892b38415cd6c2c33b60 (patch) | |
tree | 6cdcd34be10baa31f00508d35e026973091caee8 /utils/imxtools/sbtools/elf.c | |
parent | e69293ecdba18bbd4496209914d482f3b9fc97a2 (diff) | |
download | rockbox-8e69c37b5a8b2b9a1cf9892b38415cd6c2c33b60.tar.gz rockbox-8e69c37b5a8b2b9a1cf9892b38415cd6c2c33b60.zip |
sbtools: various fixes
Change-Id: I82c4642aea325cf22d66e9b49fc2d47319cd70eb
Diffstat (limited to 'utils/imxtools/sbtools/elf.c')
-rw-r--r-- | utils/imxtools/sbtools/elf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/utils/imxtools/sbtools/elf.c b/utils/imxtools/sbtools/elf.c index 5d5e1a786c..adf876e5c7 100644 --- a/utils/imxtools/sbtools/elf.c +++ b/utils/imxtools/sbtools/elf.c | |||
@@ -733,7 +733,10 @@ bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, | |||
733 | sym->name = strdup(&symstrtab[symdata[j].st_name]); | 733 | sym->name = strdup(&symstrtab[symdata[j].st_name]); |
734 | sym->addr = symdata[j].st_value; | 734 | sym->addr = symdata[j].st_value; |
735 | sym->size = symdata[j].st_size; | 735 | sym->size = symdata[j].st_size; |
736 | sym->section = strdup(&strtab[shdr[symdata[j].st_shndx].sh_name]); | 736 | if(symdata[j].st_shndx == SHN_ABS) |
737 | sym->section = NULL; | ||
738 | else | ||
739 | sym->section = strdup(&strtab[shdr[symdata[j].st_shndx].sh_name]); | ||
737 | switch(type) | 740 | switch(type) |
738 | { | 741 | { |
739 | case STT_FUNC: sym->type = ESYT_FUNC; break; | 742 | case STT_FUNC: sym->type = ESYT_FUNC; break; |