summaryrefslogtreecommitdiff
path: root/src/format/debuggable.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-03-14 22:18:27 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-03-14 22:18:27 (GMT)
commitfab9d7cd46922abea7d94f36dcd4630cdf3f4719 (patch)
treead41bb921db17631104a069e4df64fb4fc5ccfc1 /src/format/debuggable.c
parent8d8e5c02096f59a7227308a591fc5050ea5d92ff (diff)
Improved the basic support of Dwarf information.
Diffstat (limited to 'src/format/debuggable.c')
-rw-r--r--src/format/debuggable.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/format/debuggable.c b/src/format/debuggable.c
index f66ab96..03ee4ed 100644
--- a/src/format/debuggable.c
+++ b/src/format/debuggable.c
@@ -39,6 +39,9 @@ static void g_debuggable_format_class_init(GDbgFormatClass *);
/* Initialise une instance de format d'exécutable générique. */
static void g_debuggable_format_init(GDbgFormat *);
+/* Indique le boutisme employé par le format binaire analysé. */
+static SourceEndian g_debuggable_format_get_endianness(const GDbgFormat *);
+
/* Indique le type défini pour un format de débogage générique. */
@@ -59,6 +62,11 @@ G_DEFINE_TYPE(GDbgFormat, g_debuggable_format, G_TYPE_BIN_FORMAT);
static void g_debuggable_format_class_init(GDbgFormatClass *klass)
{
+ GBinFormatClass *fmt; /* Version en format basique */
+
+ fmt = G_BIN_FORMAT_CLASS(klass);
+
+ fmt->get_endian = (format_get_endian_fc)g_debuggable_format_get_endianness;
}
@@ -81,8 +89,42 @@ static void g_debuggable_format_init(GDbgFormat *format)
}
+/******************************************************************************
+* *
+* Paramètres : format = description du binaire de débogage à consulter. *
+* *
+* Description : Indique le boutisme employé par le format binaire analysé. *
+* *
+* Retour : Boutisme associé au format. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static SourceEndian g_debuggable_format_get_endianness(const GDbgFormat *format)
+{
+ return g_binary_format_get_endianness(G_BIN_FORMAT(format->executable));
+
+}
+/******************************************************************************
+* *
+* Paramètres : format = description du binaire de débogage à compléter. *
+* executable = référence vers le binaire exécutable à lier. *
+* *
+* Description : Associe officiellement des formats exécutable et de débogage.*
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+void g_debuggable_format_attach_executable(GDbgFormat *format, GExeFormat *executable)
+{
+ format->executable = executable;
+ g_object_ref(G_OBJECT(executable));
+}