summaryrefslogtreecommitdiff
path: root/src/analysis/disass
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass')
-rw-r--r--src/analysis/disass/output.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c
index 063280c..8e74d1c 100644
--- a/src/analysis/disass/output.c
+++ b/src/analysis/disass/output.c
@@ -83,6 +83,7 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang,
GLineGenerator *generator; /* Générateur de contenu ajouté*/
const vmpa2t *saddr; /* Adresse de symbole */
int compared; /* Bilan d'une comparaison */
+ char *errmsg; /* Description d'une erreur */
SymbolType stype; /* Type de symbole trouvé */
vmpa2t intro_addr; /* Adresse de début de code */
vmpa2t outro_addr; /* Adresse de fin de code */
@@ -220,6 +221,13 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang,
_("Unable to find a proper location for symbol '%s' @ 0x%08x"),
g_binary_symbol_get_label(symbols[sym_index]), get_phy_addr(saddr));
+ asprintf(&errmsg, _("Unable to find a proper location for symbol '%s'"),
+ g_binary_symbol_get_label(symbols[sym_index]));
+
+ g_arch_processor_add_error(proc, APE_LABEL, saddr, errmsg);
+
+ free(errmsg);
+
_missing++;
if (++sym_index == sym_count)