mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-28 03:27:46 +08:00
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* configure.host: or1knd support, OpenRISC without delay slot * libc/include/machine/setjmp.h: Add or1knd * libc/machine/or1k/setjmp.S: Optional delay slot
This commit is contained in:
parent
31cf15b180
commit
f58bc5991f
@ -1,3 +1,9 @@
|
||||
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
|
||||
|
||||
* configure.host: or1knd support, OpenRISC without delay slot
|
||||
* libc/include/machine/setjmp.h: Add or1knd
|
||||
* libc/machine/or1k/setjmp.S: Optional delay slot
|
||||
|
||||
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
|
||||
|
||||
* libc/machine/or1k/setjmp.S: Remove save/restore of r3-r8
|
||||
|
@ -245,7 +245,7 @@ case "${host_cpu}" in
|
||||
nios2*)
|
||||
machine_dir=nios2
|
||||
;;
|
||||
or1k*)
|
||||
or1k*|or1knd*)
|
||||
machine_dir=or1k
|
||||
;;
|
||||
powerpc*)
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
_BEGIN_STD_C
|
||||
|
||||
#ifdef __or1k__
|
||||
#if defined(__or1k__) || defined(__or1knd__)
|
||||
#define _JBLEN 31 /* 32 GPRs - r0 */
|
||||
#define _JBTYPE unsigned long
|
||||
#endif
|
||||
|
@ -49,8 +49,18 @@ setjmp:
|
||||
l.mfspr r13, r0, 17
|
||||
l.sw 124(r3), r13
|
||||
/* Set result register to 0 and jump */
|
||||
// Different cases for optional delay slot
|
||||
#if defined(__OR1K_NODELAY__)
|
||||
l.addi r11, r0, 0
|
||||
l.jr r9
|
||||
#elif defined(__OR1K_DELAY__)
|
||||
l.jr r9
|
||||
l.addi r11, r0, 0
|
||||
#else
|
||||
l.addi r11, r0, 0
|
||||
l.jr r9
|
||||
l.nop
|
||||
#endif
|
||||
|
||||
.align 4
|
||||
.global longjmp
|
||||
@ -83,7 +93,16 @@ longjmp:
|
||||
l.lwz r24, 92(r3)
|
||||
l.lwz r26, 100(r3)
|
||||
l.lwz r28, 108(r3)
|
||||
l.lwz r30, 116(r3)
|
||||
|
||||
// Different cases for optional delay slot
|
||||
#if defined(__OR1K_NODELAY__)
|
||||
l.lwz r30, 116(r3)
|
||||
l.jr r9
|
||||
#elif defined(__OR1K_DELAY__)
|
||||
l.jr r9
|
||||
l.lwz r30, 116(r3)
|
||||
#else
|
||||
l.lwz r30, 116(r3)
|
||||
l.jr r9
|
||||
l.nop
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user