This is the mail archive of the
gdb-testers@sourceware.org
mailing list for the GDB project.
[binutils-gdb] S390: Add use of unavailable-stack frame ID
- From: sergiodj+buildbot at sergiodj dot net
- To: gdb-testers at sourceware dot org
- Date: Wed, 09 Mar 2016 11:28:28 -0500
- Subject: [binutils-gdb] S390: Add use of unavailable-stack frame ID
- Authentication-results: sourceware.org; auth=none
*** TEST RESULTS FOR COMMIT 6d53bec88f4c1576f74e918400aa2ccac2d129db ***
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Branch: master
Commit: 6d53bec88f4c1576f74e918400aa2ccac2d129db
S390: Add use of unavailable-stack frame ID
When determining the frame ID of an inline frame, GDB currently asserts
that a valid ID of the underlying real frame is found, and that it does
not match outer_frame_id. From inline_frame_this_id():
/* For now, require we don't match outer_frame_id either (see
comment above). */
gdb_assert (!frame_id_eq (*this_id, outer_frame_id));
However, this assertion may fail when the real frame's unwinder can not
determine the frame ID. This happened on an s390x target with a binary
that lacked call frame information and also confused the prologue
analyzer, because then s390_frame_this_id() left the frame ID at its
default.
To fix this, this change enhances s390_frame_this_id such that an
unavailable-stack frame ID is built if no frame base can be determined
but the function address is available.
gdb/ChangeLog:
* s390-linux-tdep.c (s390_prologue_frame_unwind_cache): Store
frame func's PC in info->func before any other failure can occur.
(s390_frame_this_id): Use frame_id_build_unavailable_stack if
info->func has been filled out.
- Follow-Ups:
- Failures on RHEL-s390x-m64, branch master
- Failures on AIX-POWER7-plain, branch master
- Failures on Fedora-s390x-m64, branch master
- Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master
- Failures on Debian-s390x-native-gdbserver-m64, branch master
- Failures on Debian-s390x-m64, branch master
- Failures on Fedora-x86_64-native-extended-gdbserver-m64, branch master
- Failures on Fedora-x86_64-native-gdbserver-m32, branch master
- Failures on Debian-s390x-native-extended-gdbserver-m64, branch master
- Failures on Debian-i686, branch master
- Failures on Debian-i686-native-gdbserver, branch master
- Failures on Fedora-ppc64be-cc-with-index, branch master
- Failures on Debian-i686-native-extended-gdbserver, branch master
- Failures on Fedora-ppc64be-m64, branch master
- Failures on Fedora-ppc64be-native-gdbserver-m64, branch master
- Failures on Debian-x86_64-native-extended-gdbserver-m64, branch master
- Failures on Fedora-ppc64be-native-extended-gdbserver-m64, branch master
- Failures on Debian-x86_64-native-gdbserver-m64, branch master
- Failures on Fedora-ppc64le-native-gdbserver-m64, branch master
- Failures on Fedora-ppc64le-m64, branch master