diff options
Diffstat (limited to 'libebl/eblopenbackend.c')
| -rw-r--r-- | libebl/eblopenbackend.c | 15 |
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); } |
