]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20041215T2056
authorJakub Jelinek <jakub@redhat.com>
Wed, 15 Dec 2004 21:07:43 +0000 (21:07 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 15 Dec 2004 21:07:43 +0000 (21:07 +0000)
ChangeLog
fedora/branch.mk
malloc/Makefile
nptl/ChangeLog
sysdeps/i386/i486/bits/string.h
sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
sysdeps/powerpc/powerpc64/__longjmp-common.S
sysdeps/powerpc/powerpc64/setjmp-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S

index 1c548b195093b83b23c548e3a1cfb416c5b65c2c..f6404366cefb3b0c831e400b0aaafe9bec94b8f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,24 @@
-2004-12-15  Jakub Jelinek  <jakub@redhat.com>
+2004-12-15  Steven Munroe  <sjmunroe@us.ibm.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Correct stack
+       alignment.  Clean up flag bit tests.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Correct stack
+       alignment.  Clean up flag bit tests.  Remove redundent SP assignment.
+       Add TOC register save/restore around function call.
+
+       * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Make no_vmx symbol
+       local.
+       * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Make no_vmx symbol
+       local.
+       * sysdeps/powerpc/powerpc64/__longjmp-common.S: Make no_vmx symbol
+       local.
+       * sysdeps/powerpc/powerpc64/setjmp-common.S: Make no_vmx and
+       aligned_save_vmx symbol local.
 
-       * nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
-       not libnsl_hidden_proto.
+2004-12-15  Ulrich Drepper  <drepper@redhat.com>
 
-       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
-       and restore r2 around call to fn.
+       * sysdeps/i386/i486/bits/string.h (__strncat_g): Fix i686
+       implementation.
 
 2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>
 
        (gnulib): Always set to -lgcc $(libgcc_eh).
        (static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind).
        (libc.so-gnulib): New.
-
        * Makerules (LDLIBS-c.so): Use $(libc.so-gnulib) instead of
        $(static-gnulib).
-
        * configure.in (libc_cv_cc_with_libunwind): Set to yes if gcc
        uses -lunwind for static binaries.
-       * configure: Regenerated.
 
-2004-12-14  Jakub Jelinek  <jakub@redhat.com>
+2004-06-05  Joseph S. Myers  <jsm@polyomino.org.uk>
 
-       * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support for
-       NPTL where the PID is stored at userlevel and needs to be reset when
-       CLONE_THREAD is not used.
+       * malloc/Makefile (install-bin): Remove memusage.
+       (install-bin-script): Add memusage.
+
+2004-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
+       not libnsl_hidden_proto.
+
+       * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
+       for NPTL where the PID is stored at userlevel and needs to be reset
+       when CLONE_THREAD is not used.
        * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
 
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
+       and restore r2 around call to fn.
+
 2004-12-15  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/ia64/dl-machine.h (elf_machine_rela): Mark auto instead
index 2679fe2ffea0ca9a1f749ff7a9ddf2992dc97d09..e15a81f0a646c5208da53560ba9d12be4b1ab63f 100644 (file)
@@ -1,5 +1,5 @@
 # This file is updated automatically by Makefile.
 glibc-branch := fedora
 glibc-base := HEAD
-fedora-sync-date := 2004-12-15 08:47 UTC
-fedora-sync-tag := fedora-glibc-20041215T0847
+fedora-sync-date := 2004-12-15 20:56 UTC
+fedora-sync-tag := fedora-glibc-20041215T2056
index 6c04518b39cf3708c5a1bdeb264a70c61dd58416..0512c498398eb5d69c61f22e9430d3d876d34d61 100644 (file)
@@ -78,7 +78,8 @@ endif
 ifneq ($(cross-compiling),yes)
 # If the gd library is available we build the `memusagestat' program.
 ifneq ($(LIBGD),no)
-install-bin = memusagestat memusage
+install-bin = memusagestat
+install-bin-script += memusage
 generated += memusagestat memusage
 extra-objs += memusagestat.o
 
index 6f8b796200d75b48ef878fc6a554bcea413418e9..fea9ec1ce40213ae6aca7ca28f63b29c7f7cca65 100644 (file)
@@ -1,4 +1,4 @@
-2004-12-14  Jakub Jelinek  <jakub@redhat.com>
+2004-12-15  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: New file.
        * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: New file.
index 099d720a4c878bfd10dd30fbee0adaa6dd5d6c81..203907b1464a890c41a4a401f6fc58eaeef4dcd5 100644 (file)
@@ -1050,6 +1050,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
 #ifdef __i686__
   __asm__ __volatile__
     ("repne; scasb\n"
+     "movl %4, %3\n\t"
      "decl %1\n\t"
      "1:\n\t"
      "decl     %3\n\t"
@@ -1062,7 +1063,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
      "2:\n\t"
      "movb     $0,(%1)"
      : "=&a" (__dummy), "=&D" (__tmp), "=&S" (__src), "=&c" (__n)
-     : "0" (0), "1" (__tmp), "2" (__src), "3" (__n)
+     :  "g" (__n), "0" (0), "1" (__tmp), "2" (__src), "3" (0xffffffff)
      : "memory", "cc");
 #else
   --__tmp;
index b61e127a99494c6ce396c687e0f08b75d3b6bae7..a2415b9542a70e1ae8cdea7c8b2487a28f959bfc 100644 (file)
@@ -50,7 +50,7 @@ ENTRY (BP_SYM (__longjmp))
        lwz     r5,_dl_hwcap@l(r5)
 # endif
        andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
-       beq     no_vmx
+       beq     L(no_vmx)
        la      r5,((JB_VRS)*4)(3)
        andi.   r6,r5,0xf
        lwz     r0,((JB_VRSAVE)*4)(3)
@@ -78,7 +78,7 @@ ENTRY (BP_SYM (__longjmp))
        load_misaligned_vmx_lo_loaded(v30,v31,v0,r6,r5)
        lvx     v1,0,r5
        vperm   v31,v31,v1,v0
-       b       no_vmx
+       b       L(no_vmx)
 aligned_restore_vmx:
        addi    r6,r5,16
        lvx     v20,0,r5
@@ -103,7 +103,7 @@ aligned_restore_vmx:
        addi    r6,r6,32
        lvx     v30,0,r5
        lvx     v31,0,r6
-no_vmx:
+L(no_vmx):
 #endif
        lwz r1,(JB_GPR1*4)(r3)
        lwz r0,(JB_LR*4)(r3)
index 796d24f25cc2f847f8b192b8c92b0fa8963557e2..77ee05f48754ef1f71da3d9e3c9fdf6a9a721f0b 100644 (file)
@@ -92,13 +92,13 @@ ENTRY (BP_SYM (__sigsetjmp))
        lwz     r5,_dl_hwcap@l(r5)
 #endif
        andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
-       beq     no_vmx
+       beq     L(no_vmx)
        la      r5,((JB_VRS)*4)(3)
        andi.   r6,r5,0xf
        mfspr   r0,VRSAVE
        stw     r0,((JB_VRSAVE)*4)(3)
        addi    r6,r5,16
-       beq+    aligned_save_vmx
+       beq+    L(aligned_save_vmx)
        lvsr    v0,0,r5
        vspltisb v1,-1         /* set v1 to all 1's */
        vspltisb v2,0          /* set v2 to all 0's */
@@ -137,9 +137,9 @@ ENTRY (BP_SYM (__sigsetjmp))
        stvx    v5,0,r6
        vsel    v4,v31,v4,v3
        stvx    v4,0,r5
-       b       no_vmx
+       b       L(no_vmx)
 
-aligned_save_vmx:
+L(aligned_save_vmx):
        stvx    20,0,r5
        addi    r5,r5,32
        stvx    21,0,r6
@@ -162,7 +162,7 @@ aligned_save_vmx:
        addi    r6,r6,32
        stvx    30,0,r5
        stvx    31,0,r6
-no_vmx:
+L(no_vmx):
 #endif
        b JUMPTARGET (BP_SYM (__sigjmp_save))
 END (BP_SYM (__sigsetjmp))
index 9d0195dd147fa5bcff86d754129c2c6b5d62cb43..30087d7db497c2566b699fd3620d5d860596a1d3 100644 (file)
@@ -53,7 +53,7 @@ ENTRY (BP_SYM (__longjmp))
        ld    r5,0(r5) /* Load extern _dl_hwcap.  */
 # endif
        andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
-       beq     no_vmx
+       beq     L(no_vmx)
        la      r5,((JB_VRS)*8)(3)
        andi.   r6,r5,0xf
        lwz     r0,((JB_VRSAVE)*8)(3)
@@ -81,7 +81,7 @@ ENTRY (BP_SYM (__longjmp))
        load_misaligned_vmx_lo_loaded(v30,v31,v0,r6,r5)
        lvx     v1,0,r5
        vperm   v31,v31,v1,v0
-       b       no_vmx
+       b       L(no_vmx)
 aligned_restore_vmx:
        addi    r6,r5,16
        lvx     v20,0,r5
@@ -106,7 +106,7 @@ aligned_restore_vmx:
        addi    r6,r6,32
        lvx     v30,0,r5
        lvx     v31,0,r6
-no_vmx:
+L(no_vmx):
 #endif
        ld r1,(JB_GPR1*8)(r3)
        ld r2,(JB_GPR2*8)(r3)
index f82d5a21f5a189cb41edfc6967761d27160f4743..0de07a82d3f20d64cdc9c8d22fc65f93881abcac 100644 (file)
@@ -102,13 +102,13 @@ JUMPTARGET(GLUE(__sigsetjmp,_ent)):
        ld    r5,0(r5) /* Load extern _dl_hwcap.  */
 # endif
        andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
-       beq     no_vmx
+       beq     L(no_vmx)
        la      r5,((JB_VRS)*8)(3)
        andi.   r6,r5,0xf
        mfspr   r0,VRSAVE
        stw     r0,((JB_VRSAVE)*8)(3)
        addi    r6,r5,16
-       beq+    aligned_save_vmx
+       beq+    L(aligned_save_vmx)
        lvsr    v0,0,r5
        vspltisb v1,-1         /* set v1 to all 1's */
        vspltisb v2,0          /* set v2 to all 0's */
@@ -150,9 +150,9 @@ JUMPTARGET(GLUE(__sigsetjmp,_ent)):
        stvx    v5,0,r6
        vsel    v4,v31,v4,v3
        stvx    v4,0,r5
-       b       no_vmx
+       b       L(no_vmx)
 
-aligned_save_vmx:
+L(aligned_save_vmx):
        stvx    20,0,r5
        addi    r5,r5,32
        stvx    21,0,r6
@@ -175,7 +175,7 @@ aligned_save_vmx:
        addi    r6,r6,32
        stvx    30,0,r5
        stvx    31,0,r6
-no_vmx:
+L(no_vmx):
 #endif
        b JUMPTARGET (BP_SYM (__sigjmp_save))
 END (BP_SYM (__sigsetjmp))
index 891cf836311bb036f6500f8dd5d0406a3f8728da..f2322847474b87f2408937d8a72f23013e03e394 100644 (file)
@@ -48,7 +48,7 @@ ENTRY (BP_SYM (__clone))
        beq-    cr0,L(badargs)
 
        /* Set up stack frame for parent.  */
-       stwu    r1,-36(r1)
+       stwu    r1,-32(r1)
 #ifdef RESET_PID
        stmw    r28,16(r1)
 #else
@@ -100,7 +100,7 @@ ENTRY (BP_SYM (__clone))
 #endif
 
 #ifdef RESET_PID
-       andis.  r0,r28,1        /* This is & CLONE_THREAD */
+       andis.  r0,r28,CLONE_THREAD>>16
        bne+    r0,L(oldpid)
        andi.   r0,r28,CLONE_VM
        li      r3,-1
@@ -130,7 +130,7 @@ L(parent):
        lmw     r30,16(r1)
 # endif
 #endif
-       addi    r1,r1,36
+       addi    r1,r1,32
        bnslr+
        b       JUMPTARGET(__syscall_error)
 
index f6ce115077149c6ce390701eaa9a82b120620844..287597c4802b1454dc3ce3f0321d57355cf4eeef 100644 (file)
@@ -42,18 +42,17 @@ ENTRY (BP_SYM (__clone))
 
        /* Check for child_stack == NULL || fn == NULL.  */
        cmpdi   cr0,r4,0
-       ld      r0,0(r3)
-       cmpdi   cr1,r0,0
+       cmpdi   cr1,r3,0
        cror    cr0*4+eq,cr1*4+eq,cr0*4+eq
        beq-    cr0,L(badargs)
 
        /* Set up stack frame for parent.  */
-       stdu    r1,-88(r1)
+       stdu    r1,-80(r1)
        std     r29,56(r1)
        std     r30,64(r1)
        std     r31,72(r1)
 #ifdef RESET_PID
-       std     r28,80(r1)
+       std     r28,48(r1)
 #endif
 
        /* Set up stack frame for child.  */
@@ -85,18 +84,12 @@ ENTRY (BP_SYM (__clone))
        crandc  cr1*4+eq,cr1*4+eq,cr0*4+so
        bne-    cr1,L(parent)           /* The '-' is to minimise the race.  */
 
-       /* On at least mklinux DR3a5, clone() doesn't actually change
-          the stack pointer.  I'm pretty sure this is a bug, because
-          it adds a race condition if a signal is sent to a thread
-          just after it is created (in the previous three instructions).  */
-       mr      r1,r30
-
 #ifdef RESET_PID
-       rldicl. r0,r28,48,63    /* This is & CLONE_THREAD */
-       bne+    r0,L(oldpid)
-       rldicl. r0,r28,56,63    /* This is & CLONE_VM */
+       andis.  r0,r28,CLONE_THREAD>>16
+       bne+    cr0,L(oldpid)
+       andi.   r0,r28,CLONE_VM
        li      r3,-1
-       bne-    r0,L(nomoregetpid)
+       bne-    cr0,L(nomoregetpid)
        DO_CALL(SYS_ify(getpid))
 L(nomoregetpid):
        stw     r3,TID(r13)
@@ -122,12 +115,12 @@ L(oldpid):
 L(parent):
        /* Parent.  Restore registers & return.  */
 #ifdef RESET_PID
-       ld      r28,88(r1)
+       ld      r28,48(r1)
 #endif
        ld      r31,72(r1)
        ld      r30,64(r1)
        ld      r29,56(r1)
-       addi    r1,r1,88
+       addi    r1,r1,80
        bnslr+
        b       JUMPTARGET(__syscall_error)