diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-08-06 15:37:47 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-08-06 15:37:47 (GMT) |
commit | cdfe7b0efbb358fdb3fff8f6d5a8d34d89b220e5 (patch) | |
tree | e23d25fe0e2d8c2eacbc9c0b34a24731941d4296 /src | |
parent | f9690d8ba93b796b1d31f96c5a95ed44a55814bb (diff) |
Avoided to cut the rendering flow for volatile symbols.
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis/disass/output.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c index b9b0f1f..83a6815 100644 --- a/src/analysis/disass/output.c +++ b/src/analysis/disass/output.c @@ -289,7 +289,7 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang, { /* Point d'entrée ? */ - if (g_binary_symbol_get_target_type(symbol) == STP_ENTRY_POINT) + if (stype == STP_ENTRY_POINT) flags |= BLF_ENTRYPOINT; /** @@ -298,9 +298,14 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang, * On décide que, à partir du moment où il y a un symbole, il y a * là le début d'un nouveau bloc avec sa propre nouvelle gestion * des largeurs, quelque soit le type du symbole en question ! + * + * Seule exception : les symboles créés de toute pièce, qui + * n'interviennent que comme opérandes, et qui ne peuvent donc + * pas couper le rendu du flot d'exécution. */ - flags |= BLF_WIDTH_MANAGER; + if (stype != STP_DYN_STRING) + flags |= BLF_WIDTH_MANAGER; g_object_unref(G_OBJECT(symbol)); symbol = get_symbol_iterator_next(siter); |