diff options
Diffstat (limited to 'src/analysis/disass/output.c')
-rw-r--r-- | src/analysis/disass/output.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c index f368796..a6d7845 100644 --- a/src/analysis/disass/output.c +++ b/src/analysis/disass/output.c @@ -55,8 +55,14 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form GArchProcessor *proc; /* Architecture du binaire */ MemoryDataSize msize; /* Taille du bus d'adresses */ const bin_t *content; /* Contenu binaire global */ + +#if 0 + const mrange_t *range; /* Cou + vmpa_t start; /* Adresse de départ */ vmpa_t end; /* Adresse de fin */ +#endif + const GArchInstruction *iter; /* Boucle de parcours #1 */ size_t i; /* Boucle de parcours #2 */ const vmpa2t *iaddr; /* Adresse d'instruction */ @@ -100,9 +106,13 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form content = g_binary_format_get_content(G_BIN_FORMAT(format), NULL); +#if 0 g_arch_instruction_get_location(instrs, NULL, NULL, &start); + start = + iter = g_arch_instruction_find_last(instrs); g_arch_instruction_get_location(iter, NULL, NULL, &end); +#endif for (iter = instrs, i = 0; iter != NULL; @@ -129,8 +139,8 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form if (sym_index < sym_count) { - iaddr = g_arch_instruction_get_location2(iter, NULL); - saddr = g_binary_symbol_get_location(symbols[sym_index], NULL); + iaddr = get_mrange_addr(g_arch_instruction_get_range(iter)); + saddr = get_mrange_addr(g_binary_symbol_get_range(symbols[sym_index])); if (cmp_vmpa_by_phy(iaddr, saddr) == 0) { |