diff options
| author | Mark Wielaard <[email protected]> | 2014-01-26 20:16:48 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2014-01-30 11:08:32 +0100 |
| commit | 225dddfda38c1cd90e2daa3e72da2a9d01013336 (patch) | |
| tree | 1cf63b5901216ed21a3b4d68bf283cfaee6730f3 /backends/arm_init.c | |
| parent | a02d90ae12c5386b85332536b516da435150dd88 (diff) | |
backends: Add arm frame_nregs and set_initial_registers_tid.
This allows CFI unwinding for ARM. It relies on having .debug_frame around
which is always the case in our testsuite. All native backtrace tests PASS
on arm if debuginfo (for glibc) is installed on the system. Otherwise the
tests SKIP.
For non-debug unwinding ARM uses EXIDX tables, not .eh_frames, which
would have to be translated to CFI to do unwinding without .debug_frame
available.
Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'backends/arm_init.c')
| -rw-r--r-- | backends/arm_init.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/backends/arm_init.c b/backends/arm_init.c index cf661cea..14b26356 100644 --- a/backends/arm_init.c +++ b/backends/arm_init.c @@ -1,5 +1,5 @@ /* Initialization of Arm specific backend library. - Copyright (C) 2002, 2005, 2009, 2013 Red Hat, Inc. + Copyright (C) 2002, 2005, 2009, 2013, 2014 Red Hat, Inc. This file is part of elfutils. Written by Ulrich Drepper <[email protected]>, 2002. @@ -64,5 +64,9 @@ arm_init (elf, machine, eh, ehlen) HOOK (eh, return_value_location); HOOK (eh, abi_cfi); + /* We only unwind the core integer registers. */ + eh->frame_nregs = 16; + HOOK (eh, set_initial_registers_tid); + return MODVERSION; } |
