diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2014-12-12 20:17:26 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2014-12-12 20:17:26 +0000 |
commit | 31cf15b18062ff13b489a03e148d2b765d77981c (patch) | |
tree | 33665c154303482012cbfca538069d780d8d4609 /newlib/libc | |
parent | c6332722d95f98c29fbdac3501464eeb816adfd2 (diff) | |
download | cygnal-31cf15b18062ff13b489a03e148d2b765d77981c.tar.gz cygnal-31cf15b18062ff13b489a03e148d2b765d77981c.tar.bz2 cygnal-31cf15b18062ff13b489a03e148d2b765d77981c.zip |
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* libc/machine/or1k/setjmp.S: Remove save/restore of r3-r8
Diffstat (limited to 'newlib/libc')
-rw-r--r-- | newlib/libc/machine/or1k/setjmp.S | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/newlib/libc/machine/or1k/setjmp.S b/newlib/libc/machine/or1k/setjmp.S index 2fbf15d0f..13ccf8a07 100644 --- a/newlib/libc/machine/or1k/setjmp.S +++ b/newlib/libc/machine/or1k/setjmp.S @@ -31,12 +31,7 @@ setjmp: l.sw 4(r3), r1 l.sw 8(r3), r2 - l.sw 12(r3), r3 - l.sw 16(r3), r4 - l.sw 20(r3), r5 - l.sw 24(r3), r6 - l.sw 28(r3), r7 - l.sw 32(r3), r8 + /* Skip r3-r8 as they are not preserved across function calls */ l.sw 36(r3), r9 /* Skip r10 as it's preserved to be used by TLS */ /* Skip r11, setjmp always set it to 0 */ @@ -77,12 +72,7 @@ longjmp: l.lwz r1, 4(r3) l.lwz r2, 8(r3) - /* Skip r3 as it contains the current buffer address */ - l.lwz r4, 16(r3) - l.lwz r5, 20(r3) - l.lwz r6, 24(r3) - l.lwz r7, 28(r3) - l.lwz r8, 32(r3) + /* Skip r3-r8 as they are not preserved across function calls */ l.lwz r9, 36(r3) /* Skip r11 as it's always set by longjmp */ l.lwz r14, 52(r3) @@ -94,7 +84,6 @@ longjmp: l.lwz r26, 100(r3) l.lwz r28, 108(r3) l.lwz r30, 116(r3) - l.lwz r3, 12(r3) l.jr r9 l.nop |