diff options
| author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-08-21 22:20:53 +0200 |
|---|---|---|
| committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-08-21 22:20:53 +0200 |
| commit | 99f3ca174e3e6a3e6a55931b012208be64d8be39 (patch) | |
| tree | 2a8a1a6ab55f44be85d287c06f9f35e0a5bd92fc /utils/imxtools/sbtools/elf.c | |
| parent | 1357e0a4f1567e4bf5f3ecb27c28457d1dfc1ab4 (diff) | |
| download | rockbox-99f3ca174e3e6a3e6a55931b012208be64d8be39.zip rockbox-99f3ca174e3e6a3e6a55931b012208be64d8be39.tar.gz rockbox-99f3ca174e3e6a3e6a55931b012208be64d8be39.tar.bz2 rockbox-99f3ca174e3e6a3e6a55931b012208be64d8be39.tar.xz | |
sbtools: more code refactoring
Factor all printf method with a unique one defined in misc.h
Change-Id: I58fbf8916b76e873a2e6678506d2c8aece7834ec
Diffstat (limited to 'utils/imxtools/sbtools/elf.c')
| -rw-r--r-- | utils/imxtools/sbtools/elf.c | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/utils/imxtools/sbtools/elf.c b/utils/imxtools/sbtools/elf.c index 5017251..c875cc7 100644 --- a/utils/imxtools/sbtools/elf.c +++ b/utils/imxtools/sbtools/elf.c @@ -430,7 +430,7 @@ void elf_sort_by_address(struct elf_params_t *params) } void elf_write_file(struct elf_params_t *params, elf_write_fn_t write, - elf_printf_fn_t printf, void *user) + generic_printf_t printf, void *user) { (void) printf; @@ -607,13 +607,13 @@ void elf_write_file(struct elf_params_t *params, elf_write_fn_t write, free(strtbl_content); } -static void *elf_load_section(Elf32_Shdr *sh, elf_read_fn_t read, elf_printf_fn_t printf, void *user) +static void *elf_load_section(Elf32_Shdr *sh, elf_read_fn_t read, generic_printf_t printf, void *user) { void *data = xmalloc(sh->sh_size); if(!read(user, sh->sh_offset, data, sh->sh_size)) { free(data); - printf(user, true, "error reading elf section data\n"); + printf(user, true, OFF, "error reading elf section data\n"); return NULL; } return data; @@ -633,15 +633,15 @@ bool elf_guess(elf_read_fn_t read, void *user) } bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, - elf_printf_fn_t printf, void *user) + generic_printf_t printf, void *user) { - #define error_printf(...) ({printf(user, true, __VA_ARGS__); return false;}) + #define error_printf(...) ({printf(user, true, GREY, __VA_ARGS__); return false;}) /* read header */ Elf32_Ehdr ehdr; if(!read(user, 0, &ehdr, sizeof(ehdr))) { - printf(user, true, "error reading elf header\n"); + printf(user, true, GREY, "error reading elf header\n"); return false; } /* basic checks */ @@ -667,16 +667,16 @@ bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, elf_set_start_addr(params, ehdr.e_entry); /* run through sections */ - printf(user, false, "ELF file:\n"); + printf(user, false, OFF, "ELF file:\n"); Elf32_Shdr *shdr = xmalloc(sizeof(Elf32_Shdr) * ehdr.e_shnum); if(!read(user, ehdr.e_shoff, shdr, sizeof(Elf32_Shdr) * ehdr.e_shnum)) { - printf(user, true, "cannot read elf section headers\n"); + printf(user, true, GREY, "cannot read elf section headers\n"); return false; } char *strtab = elf_load_section(&shdr[ehdr.e_shstrndx], read, printf, user); if(!strtab) - printf(user, false, "elf file has no valid section string table\n"); + printf(user, false, OFF, "elf file has no valid section string table\n"); for(int i = 1; i < ehdr.e_shnum; i++) { const char *sec_name = &strtab[shdr[i].sh_name]; @@ -688,7 +688,7 @@ bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, void *data = elf_load_section(&shdr[i], read, printf, user); if(!data) { - printf(user, true, "cannot read elf section %s\n", sec_name); + printf(user, true, GREY, "cannot read elf section %s\n", sec_name); goto Lerr; } elf_add_load_section(params, shdr[i].sh_addr, shdr[i].sh_size, data, sec_name); @@ -707,7 +707,7 @@ bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, char *symstrtab = elf_load_section(&shdr[shdr[i].sh_link], read, printf, user); if(!symstrtab) { - printf(user, true, "cannot load string table for symbol table %s\n", sec_name); + printf(user, true, GREY, "cannot load string table for symbol table %s\n", sec_name); goto Lerr; } // load symbol table data @@ -772,7 +772,7 @@ bool elf_read_file(struct elf_params_t *params, elf_read_fn_t read, seg->paddr = phdr.p_paddr; seg->vsize = phdr.p_memsz; seg->psize = phdr.p_filesz; - printf(user, false, "create segment [%#x,+%#x[ -> [%#x,+%#x[\n", + printf(user, false, OFF, "create segment [%#x,+%#x[ -> [%#x,+%#x[\n", seg->vaddr, seg->vsize, seg->paddr, seg->psize); } @@ -855,17 +855,6 @@ void elf_release(struct elf_params_t *params) } } -void elf_std_printf(void *user, bool error, const char *fmt, ...) -{ - if(!g_debug && !error) - return; - (void) user; - va_list args; - va_start(args, fmt); - vprintf(fmt, args); - va_end(args); -} - void elf_std_write(void *user, uint32_t addr, const void *buf, size_t count) { FILE *f = user; |