summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2017-12-11 08:47:51 +0100
committerStefan Liebler <stli@linux.vnet.ibm.com>2017-12-11 08:47:51 +0100
commitdee943668fdf97e118fe14f7953486b934cbf9c4 (patch)
tree486d68e7823f15f9031da4b49bfc3d8b284d336c /ChangeLog
parentf648728cb17bcf043b6f750f360b6c8960c491fd (diff)
S390: Add CFI rule in _dl_runtime_resolve[_vx] for unwinding.
In _dl_runtime_resolve[_vx], unwinding fails after the new stack frame is created as there is no CFI rule for r15. This is also observeable in GDB: Backtrace stopped: previous frame inner to this frame (corrupt stack?) Therefore this patch is now storing r15 on stack and is using cfi_offset rule. The stmg/lmg instruction is used to store/load r14 and r15 with one instruction. On 64bit, the offsets of the fprs have moved to store r15 directly after r14. On 31bit, the r14/r15 is now stored between the other gprs and fprs as the space wasn't used. ChangeLog: * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve): Store r15 on stack and add cfi rule. * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve): Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4e4ab69f10..252c25c0fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-12-11 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve):
+ Store r15 on stack and add cfi rule.
+ * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve):
+ Likewise.
+
2017-12-10 Aurelien Jarno <aurelien@aurel32.net>
[BZ #22577]