summaryrefslogtreecommitdiffstats
path: root/tests/backtrace-subr.sh
diff options
context:
space:
mode:
authorUlf Hermann <[email protected]>2017-04-20 14:41:35 +0200
committerMark Wielaard <[email protected]>2017-05-02 16:37:51 +0200
commitd8437ed5d62a90d18739bc204b83be14188de00f (patch)
tree2783dc61f5b60e4139ba495cf43e4eed0b90ba16 /tests/backtrace-subr.sh
parentaecc2a7052f69386109dcf17d92c8396e9067eec (diff)
Add frame pointer unwinding for aarch64 and relax backtrace testcases.
If we don't find any debug information for a given frame, we usually cannot unwind any further. However, the binary in question might have been compiled with frame pointers, in which case we can look up the well known frame pointer locations in the stack snapshot and use them to bridge the frames without debug information. Relax the backtrace core testcases a little by allowing a duplicate sigusr2 frame or a backtrace ending with an invalid register. Both of which can happen if the frame pointer unwinder guesses slightly wrong. Signed-off-by: Ulf Hermann <[email protected]> Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'tests/backtrace-subr.sh')
-rw-r--r--tests/backtrace-subr.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/backtrace-subr.sh b/tests/backtrace-subr.sh
index a303e32c..9731c43a 100644
--- a/tests/backtrace-subr.sh
+++ b/tests/backtrace-subr.sh
@@ -59,7 +59,7 @@ check_backtracegen()
# Ignore it here as it is a bug of OS, not a bug of elfutils.
check_err()
{
- if [ $(egrep -v <$1 'dwfl_thread_getframes: (No DWARF information found|no matching address range|address out of range)$' \
+ if [ $(egrep -v <$1 'dwfl_thread_getframes: (No DWARF information found|no matching address range|address out of range|Invalid register)$' \
| wc -c) \
-eq 0 ]
then