X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=linux%2Fhost_dasm.c;h=d2d6d0a9bf4b6252fdc085ea59b5686d9b041d59;hb=61d87c7eddb013b1ca1275ffc2c2e3a51d5136a7;hp=a3c0e00be2e2c63b990abb184ee936b6be2db55f;hpb=1eb704b6332072581bf7c3bc411babc66f8bda8a;p=libpicofe.git diff --git a/linux/host_dasm.c b/linux/host_dasm.c index a3c0e00..d2d6d0a 100644 --- a/linux/host_dasm.c +++ b/linux/host_dasm.c @@ -37,7 +37,7 @@ remove_useless_symbols (asymbol **symbols, long count) { asymbol *sym = *in_ptr++; - if (sym->name == NULL || sym->name[0] == '\0') + if (sym->name == NULL || sym->name[0] == '\0' || sym->name[0] == '$') continue; if (sym->flags & (BSF_DEBUGGING | BSF_SECTION_SYM)) continue; @@ -53,6 +53,7 @@ remove_useless_symbols (asymbol **symbols, long count) */ *out_ptr++ = sym; } + return out_ptr - symbols; } @@ -143,6 +144,7 @@ static int insn_printf(void *f, const char *format, ...) static void host_dasm_init(void) { + bfd_init(); slurp_symtab(g_argv[0]); init_disassemble_info(&di, NULL, insn_printf); @@ -169,7 +171,7 @@ void host_dasm(void *addr, int len) vma_end = vma + len; while (vma < vma_end) { - printf(" %p ", (void *)(long)vma); + printf(" %p ", (void *)(long)vma); vma += print_insn_func(vma, &di); printf("\n"); }