diff options
author | Carlos O'Donell <carlos@systemhalted.org> | 2010-06-23 17:03:11 -0400 |
---|---|---|
committer | Carlos O'Donell <carlos@systemhalted.org> | 2010-06-23 17:03:11 -0400 |
commit | 131fafa7dac6437fd6bb320bac49b0198825b192 (patch) | |
tree | 02b554e049971524f419769d8f0b1023211e64a8 /ChangeLog.hppa | |
parent | fdb3ec206ee7671c697544502de6a650186c8cd2 (diff) | |
download | glibc-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.hppa | 13 |
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 |