diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-08-09 22:34:19 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-08-09 22:34:19 +0000 |
commit | cdb47f096a5c5973f491ecbf12d26230e21221dc (patch) | |
tree | d1bd8b06ad003d928de15bf3275bc6c67a6d7cd1 /sysdeps/powerpc | |
parent | 70b7101f6e8d81d806e38da0ca76ce3ac40137bd (diff) | |
download | glibc-cdb47f096a5c5973f491ecbf12d26230e21221dc.tar.gz glibc-cdb47f096a5c5973f491ecbf12d26230e21221dc.tar.xz glibc-cdb47f096a5c5973f491ecbf12d26230e21221dc.zip |
Update.
1998-08-09 22:32 Ulrich Drepper <drepper@cygnus.com> * sysdeps/powerpc/ffs.c: Fix typo. Add support for ffsl. Patch by Matt McLean <keys@yikes.com>.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/__longjmp.S | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/bits/setjmp.h | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/ffs.c | 12 | ||||
-rw-r--r-- | sysdeps/powerpc/setjmp.S | 2 |
4 files changed, 18 insertions, 4 deletions
diff --git a/sysdeps/powerpc/__longjmp.S b/sysdeps/powerpc/__longjmp.S index 5d6422c500..875bab62fc 100644 --- a/sysdeps/powerpc/__longjmp.S +++ b/sysdeps/powerpc/__longjmp.S @@ -45,12 +45,14 @@ ENTRY (__longjmp) lfd %f21,((JB_FPRS+7*2)*4)(%r3) lwz %r22,((JB_GPRS+8)*4)(%r3) lfd %f22,((JB_FPRS+8*2)*4)(%r3) + lwz %r0,(JB_CR*4)(%r3) lwz %r23,((JB_GPRS+9)*4)(%r3) lfd %f23,((JB_FPRS+9*2)*4)(%r3) lwz %r24,((JB_GPRS+10)*4)(%r3) lfd %f24,((JB_FPRS+10*2)*4)(%r3) lwz %r25,((JB_GPRS+11)*4)(%r3) lfd %f25,((JB_FPRS+11*2)*4)(%r3) + mtcrf 0xFF,%r0 lwz %r26,((JB_GPRS+12)*4)(%r3) lfd %f26,((JB_FPRS+12*2)*4)(%r3) lwz %r27,((JB_GPRS+13)*4)(%r3) diff --git a/sysdeps/powerpc/bits/setjmp.h b/sysdeps/powerpc/bits/setjmp.h index 100f1d1a90..040a2443a3 100644 --- a/sysdeps/powerpc/bits/setjmp.h +++ b/sysdeps/powerpc/bits/setjmp.h @@ -28,11 +28,11 @@ either representation. */ #if defined __USE_MISC || defined _ASM -# define JB_GPR1 0 /* also known as the stack pointer */ +# define JB_GPR1 0 /* Also known as the stack pointer */ # define JB_GPR2 1 -# define JB_LR 2 +# define JB_LR 2 /* The address we will return to */ # define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ -# define JB_UNUSED 21 /* it's sometimes faster to store doubles word-aligned */ +# define JB_CR 21 /* Condition code registers. */ # define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ #endif diff --git a/sysdeps/powerpc/ffs.c b/sysdeps/powerpc/ffs.c index fb1b2f4592..01d5f743a0 100644 --- a/sysdeps/powerpc/ffs.c +++ b/sysdeps/powerpc/ffs.c @@ -18,8 +18,13 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#define ffsl __something_else #include <string.h> +#undef ffs + +#ifdef __GNUC__ + int __ffs (int x) { @@ -29,4 +34,9 @@ __ffs (int x) return 32 - cnt; } weak_alias (__ffs, ffs) -weak_alais (__ffs, ffsl) +#undef ffsl +weak_alias (__ffs, ffsl) + +#else +#include <sysdeps/generic/ffs.c> +#endif diff --git a/sysdeps/powerpc/setjmp.S b/sysdeps/powerpc/setjmp.S index dc9d923c75..32b1b94c30 100644 --- a/sysdeps/powerpc/setjmp.S +++ b/sysdeps/powerpc/setjmp.S @@ -31,8 +31,10 @@ ENTRY (__sigsetjmp) stw %r0,(JB_LR*4)(3) stw %r15,((JB_GPRS+1)*4)(3) stfd %f15,((JB_FPRS+1*2)*4)(3) + mfcr %r0 stw %r16,((JB_GPRS+2)*4)(3) stfd %f16,((JB_FPRS+2*2)*4)(3) + stw %r0,(JB_CR*4)(3) stw %r17,((JB_GPRS+3)*4)(3) stfd %f17,((JB_FPRS+3*2)*4)(3) stw %r18,((JB_GPRS+4)*4)(3) |