aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog.hppa
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2010-06-23 17:03:11 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2010-06-23 17:03:11 -0400
commit131fafa7dac6437fd6bb320bac49b0198825b192 (patch)
tree02b554e049971524f419769d8f0b1023211e64a8 /ChangeLog.hppa
parentfdb3ec206ee7671c697544502de6a650186c8cd2 (diff)
downloadglibc-131fafa7dac6437fd6bb320bac49b0198825b192.tar
glibc-131fafa7dac6437fd6bb320bac49b0198825b192.tar.gz
glibc-131fafa7dac6437fd6bb320bac49b0198825b192.tar.bz2
glibc-131fafa7dac6437fd6bb320bac49b0198825b192.zip
[hppa] Fix *context stack usage for varargs
The getcontext, and setcontext functions should not adjust the stack, and should load the stack pointer from the machine context. Calling makecontext should create a frame for spilled incoming arguments, and sync uc_stack.ss_sp to the machine context. We do not support calling getcontext, modifying ss_sp, and calling setcontext directly.
Diffstat (limited to 'ChangeLog.hppa')
-rw-r--r--ChangeLog.hppa13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog.hppa b/ChangeLog.hppa
index 50a15d74cc..faad5e9a33 100644
--- a/ChangeLog.hppa
+++ b/ChangeLog.hppa
@@ -1,3 +1,16 @@
+2010-06-23 Carlos O'Donell <carlos@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext_ret):
+ Document that this function is a non-standard calling ABI.
+ Document register usage.
+ (__getcontext): Use normal %sp without adjustment. Use named
+ resgister %sp.
+ * sysdeps/unix/sysv/linux/hppa/makecontext.c: Remove FRAME_SIZE.
+ Define FRAME_SIZE_UL, FRAME_SIZE_BYTES, ARGS.
+ (__makecontext): Create and setup a stack frame.
+ * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext):
+ Use named register %sp. Do not use oSS_SP.
+
2010-06-07 Andreas Schwab <schwab@redhat.com>
* sysdeps/unix/sysv/linux/hppa/nptl/pthread.h: Update to agree