diff options
| author | Kevin Buettner <kevinb@redhat.com> | 2025-11-01 21:29:26 -0700 |
|---|---|---|
| committer | Kevin Buettner <kevinb@redhat.com> | 2026-03-03 14:24:34 -0700 |
| commit | ac9d893e3c44af942588fd1a5c694a8b8b351fb3 (patch) | |
| tree | 91f954b95232a9139d571abcb1603ba1baa4ffa4 /gdb/python/python.c | |
| parent | b2bc71a12976fc169295662ab17f692f13d167d2 (diff) | |
| download | binutils-ac9d893e3c44af942588fd1a5c694a8b8b351fb3.tar.gz binutils-ac9d893e3c44af942588fd1a5c694a8b8b351fb3.tar.bz2 binutils-ac9d893e3c44af942588fd1a5c694a8b8b351fb3.zip | |
[gdb/testsuite] Fix gdb.base/inline-frame-cycle-unwind.exp for s390x
This commit fixes six failures for s390x due to a fundamental
difference in unwinding behavior between s390x and other
architectures:
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt: cycle at level 5:
backtrace when the unwind is broken at frame 5
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt: cycle at level 3:
backtrace when the unwind is broken at frame 3
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt: cycle at level 1:
backtrace when the unwind is broken at frame 1
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt -no-filters: cycle at level 5:
backtrace when the unwind is broken at frame 5
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt -no-filters: cycle at level 3:
backtrace when the unwind is broken at frame 3
FAIL: gdb.base/inline-frame-cycle-unwind.exp: bt -no-filters: cycle at level 1:
backtrace when the unwind is broken at frame 1
The core issue is that on s390x, the Canonical Frame Address (CFA) for
a function points *into the caller's stack frame*, whereas on x86_64
or aarch64 the CFA points *within the current function's frame*. This
architectural difference causes cycle detection to occur later on
s390x.
The patch resolves this by:
- Making expected backtrace output architecture-specific.
- For non-s390x targets: expecting the full set of frames up to the
specified level.
- For s390x: expecting fewer frames before detecting the cycle
(e.g., level 5 shows 3 frames instead of 5).
- Skipping the cycle at level 1 test entirely on s390x since it cannot
be detected at that frame.
Tested using recent Fedora releases on s390x, x86_64, and aarch64.
Diffstat (limited to 'gdb/python/python.c')
0 files changed, 0 insertions, 0 deletions
