summaryrefslogtreecommitdiff
path: root/src/analysis/disass/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/output.c')
-rw-r--r--src/analysis/disass/output.c20
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++;
-
}
}