summaryrefslogtreecommitdiffstats
path: root/libebl
diff options
context:
space:
mode:
Diffstat (limited to 'libebl')
-rw-r--r--libebl/Makefile.am2
-rw-r--r--libebl/ebl-hooks.h5
-rw-r--r--libebl/eblopenbackend.c1
-rw-r--r--libebl/libeblP.h1
4 files changed, 8 insertions, 1 deletions
diff --git a/libebl/Makefile.am b/libebl/Makefile.am
index 993800ca..2cf570e7 100644
--- a/libebl/Makefile.am
+++ b/libebl/Makefile.am
@@ -34,7 +34,7 @@ AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
-std=gnu99
INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
- -I$(top_srcdir)/lib -I..
+ -I$(top_srcdir)/lib -I.. -I$(srcdir)/../libasm
VERSION = 1
PACKAGE_VERSION = @PACKAGE_VERSION@
LIBEBL_SUBDIR = @LIBEBL_SUBDIR@
diff --git a/libebl/ebl-hooks.h b/libebl/ebl-hooks.h
index d466a1f3..c0c929bd 100644
--- a/libebl/ebl-hooks.h
+++ b/libebl/ebl-hooks.h
@@ -148,6 +148,11 @@ ssize_t EBLHOOK(register_info) (Ebl *ebl,
const char **prefix, const char **setname,
int *bits, int *type);
+ /* Disassembler function. */
+int EBLHOOK(disasm) (const uint8_t **startp, const uint8_t *end,
+ GElf_Addr addr, const char *fmt, DisasmOutputCB_t outcb,
+ DisasmGetSymCB_t symcb, void *outcbarg, void *symcbarg);
+
/* Destructor for ELF backend handle. */
void EBLHOOK(destr) (struct ebl *);
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 63e64a10..8a44f904 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -246,6 +246,7 @@ fill_defaults (Ebl *result)
result->bss_plt_p = default_bss_plt_p;
result->return_value_location = default_return_value_location;
result->register_info = default_register_info;
+ result->disasm = NULL;
result->destr = default_destr;
result->sysvhash_entrysize = sizeof (Elf32_Word);
}
diff --git a/libebl/libeblP.h b/libebl/libeblP.h
index 7bb4c376..7bfa650f 100644
--- a/libebl/libeblP.h
+++ b/libebl/libeblP.h
@@ -51,6 +51,7 @@
#define _LIBEBLP_H 1
#include <gelf.h>
+#include <libasm.h>
#include <libebl.h>
#include <libintl.h>