diff options
Diffstat (limited to 'src/analysis/disass/output.c')
-rw-r--r-- | src/analysis/disass/output.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c index d698c71..727c34f 100644 --- a/src/analysis/disass/output.c +++ b/src/analysis/disass/output.c @@ -236,12 +236,29 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form if (cmp_vmpa(iaddr, saddr) == 0) { - /* Point d'entrée ? */ if (g_binary_symbol_get_target_type(symbols[sym_index]) == STP_ENTRY_POINT) g_buffer_line_add_flag(line, BLF_ENTRYPOINT); + /* Début d'un groupe bien cohérent avec les alignements ? */ + + switch (g_binary_symbol_get_target_type(symbols[sym_index])) + { + case STP_ROUTINE: + case STP_OBJECT: + case STP_FUNCTION: + case STP_ENTRY_POINT: + case STP_STRING: + case STP_RO_STRING: + g_buffer_line_add_flag(line, BLF_WIDTH_MANAGER); + break; + + default: + break; + + } + /* Commentaire ? */ comment = g_binary_symbol_get_comment(symbols[sym_index]); @@ -266,7 +283,6 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form sym_index++; - } } |