summaryrefslogtreecommitdiffstats
path: root/libebl/libebl.h
diff options
context:
space:
mode:
Diffstat (limited to 'libebl/libebl.h')
-rw-r--r--libebl/libebl.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/libebl/libebl.h b/libebl/libebl.h
index 7e91b308..c3c96612 100644
--- a/libebl/libebl.h
+++ b/libebl/libebl.h
@@ -170,6 +170,20 @@ extern int ebl_return_value_location (Ebl *ebl,
Dwarf_Die *functypedie,
const Dwarf_Op **locops);
+/* Fill in register name information given DWARF register numbers.
+ If NAME is null, return the maximum REGNO + 1 that has a name.
+ Otherwise, store in NAME the name for DWARF register number REGNO
+ and return the number of bytes written (including '\0' terminator).
+ Return -1 if NAMELEN is too short or REGNO is negative or too large.
+ Return 0 if REGNO is unused (a gap in the DWARF number assignment).
+ On success, set *SETNAME to a description like "integer" or "FPU"
+ fit for "%s registers" title display, and *PREFIX to the string
+ that precedes NAME in canonical assembler syntax (e.g. "%" or "$").
+ The NAME string contains identifier characters only (maybe just digits). */
+extern ssize_t ebl_register_name (Ebl *ebl,
+ int regno, char *name, size_t namelen,
+ const char **prefix, const char **setname);
+
/* ELF string table handling. */
struct Ebl_Strtab;