summaryrefslogtreecommitdiff
path: root/src/arch/target.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/target.c')
-rw-r--r--src/arch/target.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/arch/target.c b/src/arch/target.c
index 4e731ec..bf4da3a 100644
--- a/src/arch/target.c
+++ b/src/arch/target.c
@@ -307,7 +307,7 @@ virt_t g_target_operand_get_addr(const GTargetOperand *operand)
* *
******************************************************************************/
-bool g_target_operand_resolve(GTargetOperand *operand, const GBinFormat *format, bool strict)
+bool g_target_operand_resolve(GTargetOperand *operand, GBinFormat *format, bool strict)
{
bool result; /* Bilan à retourner */
vmpa2t addr; /* Adresse de recherche */
@@ -320,23 +320,7 @@ bool g_target_operand_resolve(GTargetOperand *operand, const GBinFormat *format,
init_vmpa(&addr, VMPA_NO_PHYSICAL, operand->addr);
- result = g_binary_format_resolve_symbol(format, &addr, &operand->symbol, &operand->diff);
-
- /**
- * En cas de succès, le compteur de références du symbole trouvé a été incrémenté.
- */
-
- if (strict)
- result &= (operand->diff == 0);
-
- if (!result && operand->symbol != NULL)
- {
- g_object_unref(G_OBJECT(operand->symbol));
-
- operand->symbol = NULL;
- operand->diff = 0;
-
- }
+ result = g_binary_format_resolve_symbol(format, &addr, strict, &operand->symbol, &operand->diff);
return result;