diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-05-30 14:37:38 +0200 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-11-07 21:39:00 +0100 |
commit | 0b867460075c9f02cb305abc91a0e12b90017583 (patch) | |
tree | 28f799db9b0eef70d0b4b5e81163b2fc62903470 /libebl/libebl.h | |
parent | 22f867adcc1258aeb88560fa8591ef071353bb22 (diff) | |
download | android_external_elfutils-0b867460075c9f02cb305abc91a0e12b90017583.tar.gz android_external_elfutils-0b867460075c9f02cb305abc91a0e12b90017583.tar.bz2 android_external_elfutils-0b867460075c9f02cb305abc91a0e12b90017583.zip |
Unwinder for x86*.
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'libebl/libebl.h')
-rw-r--r-- | libebl/libebl.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/libebl/libebl.h b/libebl/libebl.h index 990167a5..622f9e8d 100644 --- a/libebl/libebl.h +++ b/libebl/libebl.h @@ -1,5 +1,5 @@ /* Interface for libebl. - Copyright (C) 2000-2010 Red Hat, Inc. + Copyright (C) 2000-2010, 2013 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -383,6 +383,26 @@ 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. */ +typedef bool (ebl_tid_registers_t) (const int firstreg, + unsigned nregs, + const Dwarf_Word *regs, + void *arg) + __nonnull_attribute__ (3); + +/* Callback to fetch process data from live TID. + EBL architecture has to have EBL_FRAME_NREGS > 0, otherwise the + backend doesn't support unwinding and this function call may crash. */ +extern bool ebl_set_initial_registers_tid (Ebl *ebl, + pid_t tid, + ebl_tid_registers_t *setfunc, + void *arg) + __nonnull_attribute__ (1, 3); + +/* Number of registers to allocate for ebl_set_initial_registers_tid. + EBL architecture can unwind iff EBL_FRAME_NREGS > 0. */ +extern size_t ebl_frame_nregs (Ebl *ebl) + __nonnull_attribute__ (1); #ifdef __cplusplus } |