summaryrefslogtreecommitdiffstats
path: root/libebl/eblopenbackend.c
diff options
context:
space:
mode:
Diffstat (limited to 'libebl/eblopenbackend.c')
-rw-r--r--libebl/eblopenbackend.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 5916e0de..dba22ba1 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -55,6 +55,7 @@
#include <dlfcn.h>
#include <error.h>
#include <libelfP.h>
+#include <dwarf.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
@@ -199,10 +200,11 @@ static bool default_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr,
static bool default_bss_plt_p (Elf *elf, GElf_Ehdr *ehdr);
static int default_return_value_location (Dwarf_Die *functypedie,
const Dwarf_Op **locops);
-static ssize_t default_register_name (Ebl *ebl,
+static ssize_t default_register_info (Ebl *ebl,
int regno, char *name, size_t namelen,
const char **prefix,
- const char **setname);
+ const char **setname,
+ int *bits, int *type);
static void
@@ -236,7 +238,7 @@ fill_defaults (Ebl *result)
result->check_special_symbol = default_check_special_symbol;
result->bss_plt_p = default_bss_plt_p;
result->return_value_location = default_return_value_location;
- result->register_name = default_register_name;
+ result->register_info = default_register_info;
result->destr = default_destr;
result->sysvhash_entrysize = sizeof (Elf32_Word);
}
@@ -657,15 +659,18 @@ default_return_value_location (Dwarf_Die *functypedie __attribute__ ((unused)),
}
static ssize_t
-default_register_name (Ebl *ebl __attribute__ ((unused)),
+default_register_info (Ebl *ebl __attribute__ ((unused)),
int regno, char *name, size_t namelen,
const char **prefix,
- const char **setname)
+ const char **setname,
+ int *bits, int *type)
{
if (name == NULL)
return 0;
*setname = "???";
*prefix = "";
+ *bits = -1;
+ *type = DW_ATE_void;
return snprintf (name, namelen, "reg%d", regno);
}