From 1996274a43883aa58e8c565f7698bc7c338a9ce0 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Sun, 14 May 2017 23:27:28 +0200 Subject: Stopped to memorize the routines as a subset of symbols. --- ChangeLog | 7 ++++++ src/format/format-int.h | 3 --- src/format/format.c | 66 ------------------------------------------------- src/format/format.h | 4 --- 4 files changed, 7 insertions(+), 73 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0cb810..d3ec17c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 17-05-14 Cyrille Bagard + * src/format/format-int.h: + * src/format/format.c: + * src/format/format.h: + Stop to memorize the routines as a subset of symbols. + +17-05-14 Cyrille Bagard + * src/analysis/disass/disassembler.c: * src/analysis/disass/limit.c: * src/analysis/disass/limit.h: diff --git a/src/format/format-int.h b/src/format/format-int.h index 30fb666..d50b053 100644 --- a/src/format/format-int.h +++ b/src/format/format-int.h @@ -69,9 +69,6 @@ struct _GBinFormat size_t symbols_count; /* Quantité de ces symboles */ GRWLock syms_lock; /* Accès à la liste de symboles*/ - GBinRoutine **routines; /* Liste des routines trouvées */ - size_t routines_count; /* Nombre de ces routines */ - const char **src_files; /* Nom des fichiers source */ size_t src_count; /* Taille de la liste */ size_t def_source; /* Fichier source principal */ diff --git a/src/format/format.c b/src/format/format.c index d5cbda4..4dc6416 100644 --- a/src/format/format.c +++ b/src/format/format.c @@ -370,23 +370,6 @@ bool g_binary_format_add_symbol(GBinFormat *format, GBinSymbol *symbol) result = true; - switch (g_binary_symbol_get_target_type(symbol)) - { - case STP_ROUTINE: - case STP_ENTRY_POINT: - - routine = g_binary_symbol_get_routine(symbol); - - format->routines = qinsert(format->routines, &format->routines_count, - sizeof(GBinRoutine *), (__compar_fn_t)g_binary_routine_compare, - &routine); - break; - - default: - break; - - } - } else g_object_unref(G_OBJECT(symbol)); @@ -424,33 +407,6 @@ static void _g_binary_format_remove_symbol(GBinFormat *format, size_t index) symbol = format->symbols[index]; - switch (g_binary_symbol_get_target_type(symbol)) - { - case STP_ROUTINE: - case STP_ENTRY_POINT: - - routine = g_binary_symbol_get_routine(symbol); - - for (i = 0; i < format->routines_count; i++) - if (format->routines[i] == routine) - break; - - assert(i < format->routines_count); - - if ((i + 1) < format->routines_count) - memmove(&format->routines[i], &format->routines[i + 1], - (format->routines_count - i - 1) * sizeof(GBinRoutine *)); - - format->routines = (GBinRoutine **)realloc(format->routines, - --format->routines_count * sizeof(GBinRoutine *)); - - break; - - default: - break; - - } - assert(index < format->symbols_count); if ((index + 1) < format->symbols_count) @@ -938,28 +894,6 @@ bool g_binary_format_resolve_symbol(GBinFormat *format, const vmpa2t *addr, bool /****************************************************************************** * * * Paramètres : format = informations chargées à consulter. * -* count = taille du tableau créé. [OUT] * -* * -* Description : Fournit le prototype de toutes les routines détectées. * -* * -* Retour : Tableau créé ou NULL si aucun symbole de routine trouvé. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBinRoutine **g_binary_format_get_routines(const GBinFormat *format, size_t *count) -{ - *count = format->routines_count; - - return format->routines; - -} - - -/****************************************************************************** -* * -* Paramètres : format = informations chargées à consulter. * * count = taille de la liste retournée. [OUT] * * defsrc = fichier de code principal. [OUT] * * * diff --git a/src/format/format.h b/src/format/format.h index e1c4e37..ec78236 100644 --- a/src/format/format.h +++ b/src/format/format.h @@ -32,7 +32,6 @@ #include "symbol.h" #include "../analysis/content.h" -#include "../analysis/routine.h" #include "../arch/context.h" #include "../gtkext/gtkstatusstack.h" @@ -98,9 +97,6 @@ bool g_binary_format_find_next_symbol_at(GBinFormat *, const vmpa2t *, GBinSymbo /* Recherche le symbole correspondant à une adresse. */ bool g_binary_format_resolve_symbol(GBinFormat *, const vmpa2t *, bool, GBinSymbol **, phys_t *); -/* Fournit le prototype de toutes les routines détectées. */ -GBinRoutine **g_binary_format_get_routines(const GBinFormat *, size_t *); - /* Fournit la liste des fichiers source détectés. */ const char * const *g_binary_format_get_source_files(const GBinFormat *, size_t *, size_t *); -- cgit v0.11.2-87-g4458