summaryrefslogtreecommitdiff
path: root/plugins/pychrysalide/arch
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2024-05-19 22:55:29 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2024-05-19 22:55:29 (GMT)
commit79662ede83b35ad9d91b942218cf09e856e48b4c (patch)
treea2bd2c2e7070aeda9cf2eb97f867cf3ff1b7c92a /plugins/pychrysalide/arch
parent49ae908b6aa3c8c6bca2c79b0a68f587f51b600f (diff)
Restore full featured Python bindings for binary contents.
Diffstat (limited to 'plugins/pychrysalide/arch')
-rw-r--r--plugins/pychrysalide/arch/Makefile.am40
-rw-r--r--plugins/pychrysalide/arch/constants.c8
-rw-r--r--plugins/pychrysalide/arch/constants.h5
-rw-r--r--plugins/pychrysalide/arch/module.c11
4 files changed, 47 insertions, 17 deletions
diff --git a/plugins/pychrysalide/arch/Makefile.am b/plugins/pychrysalide/arch/Makefile.am
index c113f6e..d3ee3f0 100644
--- a/plugins/pychrysalide/arch/Makefile.am
+++ b/plugins/pychrysalide/arch/Makefile.am
@@ -1,22 +1,36 @@
-noinst_LTLIBRARIES = libpychrysaarch.la
+noinst_LTLIBRARIES = libpychrysaarch4.la # libpychrysaarch.la
-libpychrysaarch_la_SOURCES = \
+# libpychrysaarch_la_SOURCES = \
+# constants.h constants.c \
+# context.h context.c \
+# instriter.h instriter.c \
+# instruction.h instruction.c \
+# module.h module.c \
+# operand.h operand.c \
+# processor.h processor.c \
+# register.h register.c \
+# vmpa.h vmpa.c
+
+# libpychrysaarch_la_LIBADD = \
+# instructions/libpychrysaarchinstructions.la \
+# operands/libpychrysaarchoperands.la
+
+# libpychrysaarch_la_CFLAGS = $(TOOLKIT_CFLAGS) $(LIBXML_CFLAGS) $(LIBPYTHON_INTERPRETER_CFLAGS) $(LIBPYGOBJECT_CFLAGS) \
+# -I$(top_srcdir)/src -DNO_IMPORT_PYGOBJECT
+
+
+libpychrysaarch4_la_SOURCES = \
constants.h constants.c \
- context.h context.c \
- instriter.h instriter.c \
- instruction.h instruction.c \
module.h module.c \
- operand.h operand.c \
- processor.h processor.c \
- register.h register.c \
vmpa.h vmpa.c
-libpychrysaarch_la_LIBADD = \
- instructions/libpychrysaarchinstructions.la \
- operands/libpychrysaarchoperands.la
+# libpychrysaarch4_la_LIBADD = \
+# instructions/libpychrysaarchinstructions.la \
+# operands/libpychrysaarchoperands.la
-libpychrysaarch_la_CFLAGS = $(TOOLKIT_CFLAGS) $(LIBXML_CFLAGS) $(LIBPYTHON_INTERPRETER_CFLAGS) $(LIBPYGOBJECT_CFLAGS) \
+libpychrysaarch4_la_CFLAGS = $(LIBPYTHON_INTERPRETER_CFLAGS) $(LIBPYGOBJECT_CFLAGS) \
+ $(TOOLKIT_CFLAGS) \
-I$(top_srcdir)/src -DNO_IMPORT_PYGOBJECT
@@ -25,4 +39,4 @@ devdir = $(includedir)/chrysalide/$(subdir)
dev_HEADERS = $(libpychrysaarch_la_SOURCES:%c=)
-SUBDIRS = instructions operands
+# SUBDIRS = instructions operands
diff --git a/plugins/pychrysalide/arch/constants.c b/plugins/pychrysalide/arch/constants.c
index 0402b03..3604795 100644
--- a/plugins/pychrysalide/arch/constants.c
+++ b/plugins/pychrysalide/arch/constants.c
@@ -25,14 +25,15 @@
#include "constants.h"
-#include <arch/instruction.h>
-#include <arch/processor.h>
+//#include <arch/instruction.h>
+//#include <arch/processor.h>
#include <arch/vmpa.h>
#include "../helpers.h"
+#if 0 // FIXME
/******************************************************************************
* *
@@ -207,6 +208,7 @@ int convert_to_arch_processing_error(PyObject *arg, void *dst)
return result;
}
+#endif
/******************************************************************************
@@ -247,6 +249,7 @@ bool define_arch_vmpa_constants(PyTypeObject *type)
}
+#if 0 // FIXME
/******************************************************************************
* *
* Paramètres : type = type dont le dictionnaire est à compléter. *
@@ -343,3 +346,4 @@ int convert_to_disass_priority_level(PyObject *arg, void *dst)
return result;
}
+#endif
diff --git a/plugins/pychrysalide/arch/constants.h b/plugins/pychrysalide/arch/constants.h
index 03efc82..b12579e 100644
--- a/plugins/pychrysalide/arch/constants.h
+++ b/plugins/pychrysalide/arch/constants.h
@@ -30,7 +30,7 @@
#include <stdbool.h>
-
+#if 0 // FIXME
/* Définit les constantes relatives aux instructions. */
bool define_arch_instruction_constants(PyTypeObject *);
@@ -39,15 +39,18 @@ bool define_arch_processor_constants(PyTypeObject *);
/* Tente de convertir en constante ArchProcessingError. */
int convert_to_arch_processing_error(PyObject *, void *);
+#endif
/* Définit les constantes relatives aux emplacements. */
bool define_arch_vmpa_constants(PyTypeObject *);
+#if 0 // FIXME
/* Définit les constantes relatives aux contextes. */
bool define_proc_context_constants(PyTypeObject *);
/* Tente de convertir en constante DisassPriorityLevel. */
int convert_to_disass_priority_level(PyObject *, void *);
+#endif
diff --git a/plugins/pychrysalide/arch/module.c b/plugins/pychrysalide/arch/module.c
index d0bc1f5..bbdaf76 100644
--- a/plugins/pychrysalide/arch/module.c
+++ b/plugins/pychrysalide/arch/module.c
@@ -29,18 +29,21 @@
#include <arch/archbase.h>
-#include <common/endianness.h>
+/*
#include "context.h"
#include "instriter.h"
#include "instruction.h"
#include "operand.h"
#include "processor.h"
#include "register.h"
+*/
#include "vmpa.h"
+/*
#include "instructions/module.h"
#include "operands/module.h"
+*/
#include "../helpers.h"
@@ -77,8 +80,10 @@ bool add_arch_module(PyObject *super)
result = (module != NULL);
+ /*
if (result) result = add_arch_instructions_module(module);
if (result) result = add_arch_operands_module(module);
+ */
return result;
@@ -103,17 +108,21 @@ bool populate_arch_module(void)
result = true;
+ /*
if (result) result = ensure_python_proc_context_is_registered();
if (result) result = ensure_python_instr_iterator_is_registered();
if (result) result = ensure_python_arch_instruction_is_registered();
if (result) result = ensure_python_arch_operand_is_registered();
if (result) result = ensure_python_arch_processor_is_registered();
if (result) result = ensure_python_arch_register_is_registered();
+ */
if (result) result = ensure_python_vmpa_is_registered();
if (result) result = ensure_python_mrange_is_registered();
+ /*
if (result) result = populate_arch_instructions_module();
if (result) result = populate_arch_operands_module();
+ */
assert(result);