summaryrefslogtreecommitdiff
path: root/libebl/libebl.h
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2013-12-15 18:56:17 +0100
committerJan Kratochvil <jan.kratochvil@redhat.com>2013-12-15 18:56:17 +0100
commit5cbf42aaf47195e2c41171786371d55b253a7667 (patch)
tree8def24d1108f287998fadbdc6348a925ce3d72ec /libebl/libebl.h
parent63572f42b04e1c3b752b113810ec642121c8090e (diff)
downloadelfutils-5cbf42aaf47195e2c41171786371d55b253a7667.tar.gz
unwinder: ppc and ppc64
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Diffstat (limited to 'libebl/libebl.h')
-rw-r--r--libebl/libebl.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libebl/libebl.h b/libebl/libebl.h
index 045a1980..7080b4a5 100644
--- a/libebl/libebl.h
+++ b/libebl/libebl.h
@@ -368,6 +368,7 @@ typedef struct
Elf_Type type;
char format;
bool thread_identifier;
+ bool pc_register;
} Ebl_Core_Item;
/* Describe the format of a core file note with the given header and NAME.
@@ -383,7 +384,9 @@ extern int ebl_auxv_info (Ebl *ebl, GElf_Xword a_type,
const char **name, const char **format)
__nonnull_attribute__ (1, 3, 4);
-/* Callback type for ebl_set_initial_registers_tid. */
+/* Callback type for ebl_set_initial_registers_tid.
+ Register -1 is mapped to PC (if arch PC has no DWARF number).
+ If FIRSTREG is -1 then NREGS has to be 1. */
typedef bool (ebl_tid_registers_t) (int firstreg, unsigned nregs,
const Dwarf_Word *regs, void *arg)
__nonnull_attribute__ (3);
@@ -402,6 +405,11 @@ extern bool ebl_set_initial_registers_tid (Ebl *ebl,
extern size_t ebl_frame_nregs (Ebl *ebl)
__nonnull_attribute__ (1);
+/* Convert *REGNO as is in DWARF to a lower range suitable for
+ Dwarf_Frame->REGS indexing. */
+extern bool ebl_dwarf_to_regno (Ebl *ebl, unsigned *regno)
+ __nonnull_attribute__ (1, 2);
+
#ifdef __cplusplus
}
#endif