Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 9 Aug 1998 22:34:19 +0000 (22:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 9 Aug 1998 22:34:19 +0000 (22:34 +0000)
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>.

ChangeLog
sysdeps/powerpc/__longjmp.S
sysdeps/powerpc/bits/setjmp.h
sysdeps/powerpc/ffs.c
sysdeps/powerpc/setjmp.S

index 26742b9..4bc0035 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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>.
+
 1998-08-07  Geoff Keating  <geoffk@ozemail.com.au>
 
        * sysdeps/powerpc/bits/setjmp.h: Use word to save condition
index 5d6422c..875bab6 100644 (file)
@@ -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)
index 100f1d1..040a244 100644 (file)
    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
 
index fb1b2f4..01d5f74 100644 (file)
    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
index dc9d923..32b1b94 100644 (file)
@@ -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)