diff options
author | Mark Wielaard <mjw@redhat.com> | 2016-08-25 17:17:23 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2016-08-25 21:02:11 +0200 |
commit | 9008499a5276c45b37bc0adb47e7ad227e6ba2a9 (patch) | |
tree | 1bc5f04f83f072d4107a1d93bdfa395d42dadbee /po | |
parent | 324cc566974470090ed4a86f38afafe231501320 (diff) | |
download | elfutils-9008499a5276c45b37bc0adb47e7ad227e6ba2a9.tar.gz |
tests: Simplify backtrace-native tests. Drop raise jmp patching for x86_64.
The backtrace-native[-biarch] testcase was a little too clever in places
making it unreliable.
On x86_64 we tried to make an interesting backtrace by catching the
first signal and then replacing the pc with the address of the first
instruction of a function. Then we would raise a new signal, through
ptrace, to create a backtrace that went from a signal frame into a
frame at the start of a function. That way we could check that we were
trying to fetch the correct CFI for the (jmp) function even at the
first instruction (normally we would substract one from the return
address to get at the call address).
This works as long as the CFI for the jmp() function is identical to
the CFI for the raise() function that we "patched away". Unfortunately
on Fedora rawhide glibc has a rewritten raise() implementation that has
different CFI, in particular the CFA is calculated differently. Making
the testcase fail because we cannot properly unwind from jmp().
So this special x86_64 case has been disabled (the code is still there
in case we find another way to test this in a more reliable way).
On Ubuntu there have been spurious testcase failures because
see_exec_module found two Dwfl_Modules with the same path. This would
trigger an assert. Although this might indicate some issue (maybe we
are not parsing the proc/pid/map correctly?) it isn't clear that it
really is a bug. Since the assert is not very helpful finding any
actual bug and for the testcase it is only necessary that the first
Dwfl_Module that represents the executable is found we just pick that
Dwfl_Module and don't iterate through any of the others.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'po')
0 files changed, 0 insertions, 0 deletions