History log of /src/lib/libc/arch/alpha/gen/__setjmp14.S |
Revision | | Date | Author | Comments |
1.9 |
| 06-Jul-2021 |
thorpej | Ensure that the stack is always 16-byte aligned by rounding sizes as needed.
All changes from rin@ except swapcontext.S, which is from me (added symbolic constants to make the code clearer).
|
1.8 |
| 21-Oct-2020 |
thorpej | - Consistently use _REG_* defines from assym.h to mean register numbers, not offsets (i.e. *8 to get the offset). - Define and use SIZEOF_SIGINFO and UC_GREGS constants, rather than hard-code magic numbers.
NFC -- same object code is generated.
|
1.7 |
| 23-Jan-2014 |
christos | Use a constant in the text segment to avoid the .lit8 out of range relocation error.
|
1.6 |
| 12-Mar-2013 |
martin | Save the GP register value and restore it on longjmp.
While formally GP is not a callee-saved register, for static linking the link time optimization described in section 3.2.3 of the "Calling Standard for Alpha Systems" allows the caller to rely on GP being the value needed within setjmp() - and not restore it after return if setjmp and the call site share a GP value.
This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh or the static tcsh variant from pkgsrc.
|
1.5 |
| 12-Jun-2011 |
matt | branches: 1.5.2; 1.5.4; 1.5.8; 1.5.10; Use excb before and after the mt_fpcr/mf_fpcr instructions as specified in the alpha ARM 4.7.8.1 (Accessing the FPCR):
Because Alpha floating-point hardware can overlap the execution of a number of floating-point instructions, accessing the FPCR must be synchronized with other floating-point instructions. An EXCB instruction must be issued both prior to and after accessing the FPCR to ensure that the FPCR access is synchronized with the execution of previous and subsequent floating-point instructions; otherwise synchronization is not ensured.
Use unions to convert between double and uint64_t to avoid casting.
|
1.4 |
| 21-Mar-2004 |
matt | branches: 1.4.54; Change longjmp to use setcontext instead of sigreturn14. Change setjmp to use symbolic offsets via assym.h
|
1.3 |
| 07-Oct-2003 |
skd | Siginfo libc changes for alpha. Approved by thorpej@netbsd.org.
|
1.2 |
| 14-Jun-2000 |
cgd | fix up NetBSD RCS Ids to match the standard, and the leading comment as to match as well. No functional changes.
|
1.1 |
| 29-Sep-1998 |
thorpej | branches: 1.1.8; Signal changes for Alpha.
|
1.1.8.1 |
| 23-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.4.54.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.5.10.1 |
| 14-Mar-2013 |
riz | Pull up following revision(s) (requested by martin in ticket #846): lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6 lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6 lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7 Save the GP register value and restore it on longjmp. While formally GP is not a callee-saved register, for static linking the link time optimization described in section 3.2.3 of the "Calling Standard for Alpha Systems" allows the caller to rely on GP being the value needed within setjmp() - and not restore it after return if setjmp and the call site share a GP value. This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh or the static tcsh variant from pkgsrc. Remove clearing of ucontext_t, the only random register values now are argument and scratch registers (which will be reloaded after return anyway).
|
1.5.8.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.5.8.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.5.4.1 |
| 14-Mar-2013 |
riz | Pull up following revision(s) (requested by martin in ticket #846): lib/libc/arch/alpha/gen/__setjmp14.S: revision 1.6 lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.6 lib/libc/arch/alpha/gen/__longjmp14.c: revision 1.7 Save the GP register value and restore it on longjmp. While formally GP is not a callee-saved register, for static linking the link time optimization described in section 3.2.3 of the "Calling Standard for Alpha Systems" allows the caller to rely on GP being the value needed within setjmp() - and not restore it after return if setjmp and the call site share a GP value. This fixes longjmp/setjmp for statically linked programs, e.g. /rescue/csh or the static tcsh variant from pkgsrc. Remove clearing of ucontext_t, the only random register values now are argument and scratch registers (which will be reloaded after return anyway).
|
1.5.2.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|