* libc/machine/sparc/setjmp.S (longjmp): Use register g1 instead of g6.
This commit is contained in:
parent
2d0cb1acc7
commit
e9eef8ec14
|
@ -1,3 +1,7 @@
|
||||||
|
2014-05-15 Daniel Cederman <cederman@gaisler.com>
|
||||||
|
|
||||||
|
* libc/machine/sparc/setjmp.S (longjmp): Use register g1 instead of g6.
|
||||||
|
|
||||||
2014-05-14 Kaushik Phatak <Kaushik.Phatak@kpit.com>
|
2014-05-14 Kaushik Phatak <Kaushik.Phatak@kpit.com>
|
||||||
|
|
||||||
* libc/include/machine/ieeefp.h: Define _DOUBLE_IS_32BITS when double
|
* libc/include/machine/ieeefp.h: Define _DOUBLE_IS_32BITS when double
|
||||||
|
|
|
@ -124,9 +124,9 @@ ENTRY(_setjmp)
|
||||||
ENTRY(longjmp)
|
ENTRY(longjmp)
|
||||||
ENTRY(_longjmp)
|
ENTRY(_longjmp)
|
||||||
ta 0x03 /* flush registers */
|
ta 0x03 /* flush registers */
|
||||||
addcc %o1, %g0, %g6 ! compute v ? v : 1 in a global register
|
addcc %o1, %g0, %g1 ! compute v ? v : 1 in a global register
|
||||||
be,a 0f
|
be,a 0f
|
||||||
mov 1, %g6
|
mov 1, %g1
|
||||||
0:
|
0:
|
||||||
ld [%o0], %sp /* caller's stack pointer */
|
ld [%o0], %sp /* caller's stack pointer */
|
||||||
|
|
||||||
|
@ -143,6 +143,6 @@ ENTRY(_longjmp)
|
||||||
ld [%o0+8], %fp /* caller's frame pointer */
|
ld [%o0+8], %fp /* caller's frame pointer */
|
||||||
ld [%o0+12], %o7
|
ld [%o0+12], %o7
|
||||||
|
|
||||||
jmp %o7 + 8 ! success, return %g6
|
jmp %o7 + 8 ! success, return %g1
|
||||||
mov %g6, %o0
|
mov %g1, %o0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue