summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/analysis/binary.c4
-rw-r--r--src/core/core.c2
-rw-r--r--src/core/processors.c68
-rw-r--r--src/core/processors.h9
4 files changed, 26 insertions, 57 deletions
diff --git a/src/analysis/binary.c b/src/analysis/binary.c
index 8964973..7b075fd 100644
--- a/src/analysis/binary.c
+++ b/src/analysis/binary.c
@@ -1723,7 +1723,7 @@ static bool g_loaded_binary_analyze(GLoadedBinary *binary, wgroup_id_t gid, GtkS
/* Architecture visée */
arch = g_exe_format_get_target_machine(binary->format);
- desc = get_arch_processor_name(arch);
+ desc = get_arch_processor_description(arch);
if (desc == NULL)
{
@@ -1734,7 +1734,7 @@ static bool g_loaded_binary_analyze(GLoadedBinary *binary, wgroup_id_t gid, GtkS
else
log_variadic_message(LMT_INFO, _("Detected architecture: %s"), desc);
- binary->proc = get_arch_processor_for_type(arch);
+ binary->proc = get_arch_processor_for_name(arch);
if (binary->proc == NULL)
{
diff --git a/src/core/core.c b/src/core/core.c
index aabff62..5ce07d0 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -108,8 +108,6 @@ bool load_all_basic_components(void)
register_arch_gtypes();
- result &= load_hard_coded_processors_definitions();
-
result &= load_hard_coded_collection_definitions();
}
diff --git a/src/core/processors.c b/src/core/processors.c
index 68fd0f6..631e819 100644
--- a/src/core/processors.c
+++ b/src/core/processors.c
@@ -34,15 +34,14 @@
#include "../arch/target.h"
#include "../arch/undefined.h"
#include "../arch/operands/register.h"
-//#include "../arch/jvm/processor.h"
/* Caractéristiques d'un processeur */
typedef struct _proc_t
{
- char *key; /* Clef pour un accès rapide */
- char *name; /* Désignation humaine */
+ char *name; /* Clef pour un accès rapide */
+ char *desc; /* Désignation humaine */
GType instance; /* Type à manipuler en interne */
} proc_t;
@@ -86,8 +85,8 @@ void register_arch_gtypes(void)
/******************************************************************************
* *
-* Paramètres : key = désignation rapide et interne d'un processeur. *
-* name = désignation humaine de l'architecture. *
+* Paramètres : name = désignation rapide et interne d'un processeur. *
+* desc = désignation humaine de l'architecture. *
* instance = type GLib représentant le type à instancier. *
* *
* Description : Enregistre un processeur pour une architecture donnée. *
@@ -98,14 +97,14 @@ void register_arch_gtypes(void)
* *
******************************************************************************/
-bool register_processor_type(const char *key, const char *name, GType instance)
+bool register_processor_type(const char *name, const char *desc, GType instance)
{
bool result; /* Bilan à retourner */
proc_t *new; /* Nouvel élément à définir */
G_LOCK(_pdef_access);
- new = find_processor_by_key(key);
+ new = find_processor_by_key(name);
result = (new == NULL);
@@ -116,8 +115,8 @@ bool register_processor_type(const char *key, const char *name, GType instance)
new = &_processors_definitions[_processors_definitions_count - 1];
- new->key = strdup(key);
new->name = strdup(name);
+ new->desc = strdup(desc);
new->instance = instance;
}
@@ -133,31 +132,6 @@ bool register_processor_type(const char *key, const char *name, GType instance)
* *
* Paramètres : - *
* *
-* Description : Charge les définitions de processeurs "natifs". *
-* *
-* Retour : Bilan de l'opération. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-bool load_hard_coded_processors_definitions(void)
-{
- bool result; /* Bilan à retourner */
-
- result = true;
-
- //result &= register_processor_type("jvm", "Java Virtual Machine", G_TYPE_JVM_PROCESSOR);
-
- return result;
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : - *
-* *
* Description : Décharge toutes les définitions de processeurs. *
* *
* Retour : - *
@@ -174,8 +148,8 @@ void unload_processors_definitions(void)
for (i = 0; i < _processors_definitions_count; i++)
{
- free(_processors_definitions[i].key);
free(_processors_definitions[i].name);
+ free(_processors_definitions[i].desc);
}
if (_processors_definitions != NULL)
@@ -191,7 +165,7 @@ void unload_processors_definitions(void)
/******************************************************************************
* *
-* Paramètres : key = nom technique du processeur recherché. *
+* Paramètres : name = nom technique du processeur recherché. *
* *
* Description : Retrouve l'enregistrement correspondant à une architecture. *
* *
@@ -201,7 +175,7 @@ void unload_processors_definitions(void)
* *
******************************************************************************/
-static proc_t *find_processor_by_key(const char *key)
+static proc_t *find_processor_by_key(const char *name)
{
proc_t *result; /* Trouvaille à retourner */
size_t i; /* Boucle de parcours */
@@ -212,9 +186,9 @@ static proc_t *find_processor_by_key(const char *key)
result = NULL;
- if (key != NULL)
+ if (name != NULL)
for (i = 0; i < _processors_definitions_count; i++)
- if (strcmp(_processors_definitions[i].key, key) == 0)
+ if (strcmp(_processors_definitions[i].name, name) == 0)
result = &_processors_definitions[i];
return result;
@@ -224,7 +198,7 @@ static proc_t *find_processor_by_key(const char *key)
/******************************************************************************
* *
-* Paramètres : key = nom technique du processeur recherché. *
+* Paramètres : name = nom technique du processeur recherché. *
* *
* Description : Fournit le nom humain de l'architecture visée. *
* *
@@ -234,20 +208,20 @@ static proc_t *find_processor_by_key(const char *key)
* *
******************************************************************************/
-const char *get_arch_processor_name(const char *key)
+const char *get_arch_processor_description(const char *name)
{
const char *result; /* Description à retourner */
proc_t *def; /* Définition d'architecture */
G_LOCK(_pdef_access);
- def = find_processor_by_key(key);
+ def = find_processor_by_key(name);
if (def == NULL)
result = NULL;
else
- result = def->name;
-
+ result = def->desc;
+
G_UNLOCK(_pdef_access);
return result;
@@ -257,9 +231,9 @@ const char *get_arch_processor_name(const char *key)
/******************************************************************************
* *
-* Paramètres : key = nom technique du processeur recherché. *
+* Paramètres : name = nom technique du processeur recherché. *
* *
-* Description : Fournit le processeur d'architecture correspondant à un type.*
+* Description : Fournit le processeur d'architecture correspondant à un nom. *
* *
* Retour : Processeur d'architecture trouvé. *
* *
@@ -267,14 +241,14 @@ const char *get_arch_processor_name(const char *key)
* *
******************************************************************************/
-GArchProcessor *get_arch_processor_for_type(const char *key)
+GArchProcessor *get_arch_processor_for_name(const char *name)
{
GArchProcessor *result; /* Instance à retourner */
proc_t *def; /* Définition d'architecture */
G_LOCK(_pdef_access);
- def = find_processor_by_key(key);
+ def = find_processor_by_key(name);
if (def == NULL)
result = NULL;
diff --git a/src/core/processors.h b/src/core/processors.h
index f202114..975c716 100644
--- a/src/core/processors.h
+++ b/src/core/processors.h
@@ -38,17 +38,14 @@ void register_arch_gtypes(void);
/* Enregistre un processeur pour une architecture donnée. */
bool register_processor_type(const char *, const char *, GType);
-/* Charge les définitions de processeurs "natifs". */
-bool load_hard_coded_processors_definitions(void);
-
/* Décharge toutes les définitions de processeurs. */
void unload_processors_definitions(void);
/* Fournit le nom humain de l'architecture visée. */
-const char *get_arch_processor_name(const char *);
+const char *get_arch_processor_description(const char *);
-/* Fournit le processeur d'architecture correspondant à un type. */
-GArchProcessor *get_arch_processor_for_type(const char *);
+/* Fournit le processeur d'architecture correspondant à un nom. */
+GArchProcessor *get_arch_processor_for_name(const char *);