Author: aurel32
Date: 2014-05-06 22:42:24 +0000 (Tue, 06 May 2014)
New Revision: 6051

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/svn-updates.diff
Log:
patches/svn-updates.diff: update from 2.18 branch, to fix a race in free()
of fastbin chunk.

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2014-05-06 22:31:36 UTC (rev 
6050)
+++ glibc-package/trunk/debian/changelog        2014-05-06 22:42:24 UTC (rev 
6051)
@@ -33,6 +33,8 @@
   * patches/any/sparc/cvs-efd_semaphore.diff: new patch from upstream to
     declare EFD_SEMAPHORE in <bits/eventfd.h> on SPARC.  Closes: #703559,
     #737697.
+  * patches/svn-updates.diff: update from 2.18 branch, to fix a race in free()
+    of fastbin chunk.
 
  -- Adam Conrad <[email protected]>  Sun, 27 Apr 2014 23:15:13 -0600
 

Modified: glibc-package/trunk/debian/patches/svn-updates.diff
===================================================================
--- glibc-package/trunk/debian/patches/svn-updates.diff 2014-05-06 22:31:36 UTC 
(rev 6050)
+++ glibc-package/trunk/debian/patches/svn-updates.diff 2014-05-06 22:42:24 UTC 
(rev 6051)
@@ -1,8 +1,50 @@
-diff --git a/ChangeLog b/ChangeLog
-index 0dbefe3..1e5efa7 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,19 @@
+SVN update of svn://svn.eglibc.org/branches/eglibc-2_18 from revision 24653
+
+Index: NEWS
+===================================================================
+--- a/NEWS     (révision 24653)
++++ b/NEWS     (révision 25477)
+@@ -9,7 +9,7 @@
+ 
+ * The following bugs are resolved with this release:
+ 
+-  15909, 15996.
++  15073, 15128, 15909, 15996, 16150, 16169, 16387, 16510.
+ 
+ Version 2.18
+ 
+@@ -28,7 +28,7 @@
+   15429, 15431, 15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488,
+   15490, 15492, 15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583,
+   15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755,
+-  15759.
++  15759, 15985.
+ 
+ * CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal
+   has been fixed by disabling the use of pt_chown (Bugzilla #15755).
+Index: ChangeLog
+===================================================================
+--- a/ChangeLog        (révision 24653)
++++ b/ChangeLog        (révision 25477)
+@@ -1,3 +1,37 @@
++2014-01-29  H.J. Lu  <[email protected]>
++
++      [BZ #16510]
++      * sysdeps/x86/fpu/bits/mathinline.h: Check __SSE2_MATH__ instead
++      of __x86_64__ when disabling x87 inline functions.
++
++2014-01-20  H.J. Lu  <[email protected]>
++
++      [BZ #15605]
++      * sysdeps/x86_64/x32/symbol-hacks.h: Include generic symbol-hacks.h.
++
++2014-01-04  Maxim Kuvyrkov  <[email protected]>
++          Ondřej Bílka  <[email protected]>
++
++      [BZ #15073]
++      * malloc/malloc.c (_int_free): Perform sanity check only if we
++        have_lock.
++
 +2013-11-11  David S. Miller  <[email protected]>
 +
 +      [BZ #16150]
@@ -22,46 +64,151 @@
  2013-09-06  David S. Miller  <[email protected]>
  
        * po/zh_TW.po: Update Chinese (traditional) translation from
-diff --git a/NEWS b/NEWS
-index fb6069d..df97235 100644
---- a/NEWS
-+++ b/NEWS
-@@ -9,7 +9,7 @@ Version 2.18.1
+Index: sysdeps/x86/fpu/bits/mathinline.h
+===================================================================
+--- a/sysdeps/x86/fpu/bits/mathinline.h        (révision 24653)
++++ b/sysdeps/x86/fpu/bits/mathinline.h        (révision 25477)
+@@ -1,5 +1,5 @@
+ /* Inline math functions for i387 and SSE.
+-   Copyright (C) 1995-2013 Free Software Foundation, Inc.
++   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
  
- * The following bugs are resolved with this release:
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -384,7 +384,7 @@
+ # endif
+ #endif
  
--  15909, 15996.
-+  15909, 15996, 16150.
- 
- Version 2.18
+-#ifndef __x86_64__
++#ifndef __SSE2_MATH__
+ # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
+      && defined __OPTIMIZE__)
  
-@@ -28,7 +28,7 @@ Version 2.18
-   15429, 15431, 15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488,
-   15490, 15492, 15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583,
-   15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755,
--  15759.
-+  15759, 15985.
+@@ -970,4 +970,4 @@
+                   return __value;)
+ # endif
  
- * CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal
-   has been fixed by disabling the use of pt_chown (Bugzilla #15755).
-diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
-index 4a4db09..0fc0a4b 100644
---- a/ports/ChangeLog.alpha
-+++ b/ports/ChangeLog.alpha
-@@ -1,3 +1,8 @@
-+2013-11-16  Richard Henderson  <[email protected]>
-+
-+      * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Include a nop
-+      before each signal thunk.
-+
- 2013-07-02  Richard Henderson  <[email protected]>
- 
-         * sysdeps/alpha/fpu/libm-test-ulps: Update.
-diff --git a/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S 
b/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
-index 3d291fd..6efa738 100644
---- a/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
-+++ b/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
-@@ -83,14 +83,21 @@ PSEUDO_END(__syscall_rt_sigaction)
+-#endif /* !__x86_64__ */
++#endif /* !__SSE2_MATH__ */
+Index: sysdeps/x86_64/x32/symbol-hacks.h
+===================================================================
+--- a/sysdeps/x86_64/x32/symbol-hacks.h        (révision 24653)
++++ b/sysdeps/x86_64/x32/symbol-hacks.h        (révision 25477)
+@@ -1 +1 @@
+-/* Fortunately nothing to do.  */
++#include <sysdeps/generic/symbol-hacks.h>
+Index: sysdeps/sparc/sparc64/multiarch/addmul_1.S
+===================================================================
+--- a/sysdeps/sparc/sparc64/multiarch/addmul_1.S       (révision 24653)
++++ b/sysdeps/sparc/sparc64/multiarch/addmul_1.S       (révision 25477)
+@@ -42,7 +42,7 @@
+       sethi   %gdop_hix22(__mpn_addmul_1_generic), %o1
+       xor     %o1, %gdop_lox10(__mpn_addmul_1_generic), %o1
+ # else
+-      set     __mpn_addmul_1_vis3, %o1
++      set     __mpn_addmul_1_generic, %o1
+ # endif
+ 10:
+ # ifdef SHARED
+Index: sysdeps/sparc/sparc64/multiarch/submul_1.S
+===================================================================
+--- a/sysdeps/sparc/sparc64/multiarch/submul_1.S       (révision 24653)
++++ b/sysdeps/sparc/sparc64/multiarch/submul_1.S       (révision 25477)
+@@ -42,7 +42,7 @@
+       sethi   %gdop_hix22(__mpn_submul_1_generic), %o1
+       xor     %o1, %gdop_lox10(__mpn_submul_1_generic), %o1
+ # else
+-      set     __mpn_submul_1_vis3, %o1
++      set     __mpn_submul_1_generic, %o1
+ # endif
+ 10:
+ # ifdef SHARED
+Index: sysdeps/sparc/sparc64/multiarch/add_n.S
+===================================================================
+--- a/sysdeps/sparc/sparc64/multiarch/add_n.S  (révision 24653)
++++ b/sysdeps/sparc/sparc64/multiarch/add_n.S  (révision 25477)
+@@ -42,7 +42,7 @@
+       sethi   %gdop_hix22(__mpn_add_n_generic), %o1
+       xor     %o1, %gdop_lox10(__mpn_add_n_generic), %o1
+ # else
+-      set     __mpn_add_n_vis3, %o1
++      set     __mpn_add_n_generic, %o1
+ # endif
+ 10:
+ # ifdef SHARED
+Index: sysdeps/sparc/sparc64/multiarch/sub_n.S
+===================================================================
+--- a/sysdeps/sparc/sparc64/multiarch/sub_n.S  (révision 24653)
++++ b/sysdeps/sparc/sparc64/multiarch/sub_n.S  (révision 25477)
+@@ -42,7 +42,7 @@
+       sethi   %gdop_hix22(__mpn_sub_n_generic), %o1
+       xor     %o1, %gdop_lox10(__mpn_sub_n_generic), %o1
+ # else
+-      set     __mpn_sub_n_vis3, %o1
++      set     __mpn_sub_n_generic, %o1
+ # endif
+ 10:
+ # ifdef SHARED
+Index: sysdeps/sparc/sparc64/multiarch/mul_1.S
+===================================================================
+--- a/sysdeps/sparc/sparc64/multiarch/mul_1.S  (révision 24653)
++++ b/sysdeps/sparc/sparc64/multiarch/mul_1.S  (révision 25477)
+@@ -42,7 +42,7 @@
+       sethi   %gdop_hix22(__mpn_mul_1_generic), %o1
+       xor     %o1, %gdop_lox10(__mpn_mul_1_generic), %o1
+ # else
+-      set     __mpn_mul_1_vis3, %o1
++      set     __mpn_mul_1_generic, %o1
+ # endif
+ 10:
+ # ifdef SHARED
+Index: sysdeps/sparc/sparc32/fpu/s_fdim.S
+===================================================================
+--- a/sysdeps/sparc/sparc32/fpu/s_fdim.S       (révision 24653)
++++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S       (révision 25477)
+@@ -30,7 +30,8 @@
+       fbug    1f
+        st     %g0, [%sp + 76]
+       ldd     [%sp + 72], %f0
+-      fnegd   %f0, %f2
++      fnegs   %f0, %f2
++      fmovs   %f1, %f3
+ 1:    retl
+        fsubd  %f0, %f2, %f0
+ END(__fdim)
+Index: 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data
+===================================================================
+
+Modification de propriétés sur 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Fusionné 
/fsf/glibc-2_18-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data:r24307-25237
+Index: 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data
+===================================================================
+
+Modification de propriétés sur 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Fusionné 
/fsf/glibc-2_18-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data:r24307-25237
+Index: ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data
+===================================================================
+
+Modification de propriétés sur 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Fusionné 
/fsf/glibc-2_18-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data:r24307-25237
+Index: ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data
+===================================================================
+
+Modification de propriétés sur 
ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Fusionné 
/fsf/glibc-2_18-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data:r24307-25237
+Index: ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
+===================================================================
+--- a/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S       (révision 24653)
++++ b/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S       (révision 25477)
+@@ -83,14 +83,21 @@
        cfi_offset (64, \base + 2 * 8)
        .endm
  
@@ -71,9 +218,9 @@
        cfi_return_column (64)
        .cfi_signal_frame
        SIGCONTEXT_REGS -648
--
-       cfi_def_cfa_offset (648)
-+
++      cfi_def_cfa_offset (648)
+ 
+-      cfi_def_cfa_offset (648)
 +      /* While this frame is marked as a signal frame, that only applies
 +         to how this return address is handled for the outer frame.
 +         The return address that arrived here, from the inner frame, is
@@ -86,95 +233,225 @@
  __syscall_sigreturn:
        mov     sp, a0
        ldi     v0, __NR_sigreturn
-@@ -98,8 +105,11 @@ __syscall_sigreturn:
+@@ -98,8 +105,11 @@
        .size   __syscall_sigreturn, .-__syscall_sigreturn
        .type   __syscall_sigreturn, @function
  
--      .align 4
 +      /* See above wrt including the nop.  */
-       cfi_def_cfa_offset (176 + 648)
++      cfi_def_cfa_offset (176 + 648)
 +      nop
-+      .align 4
+       .align 4
+-      cfi_def_cfa_offset (176 + 648)
 +
  __syscall_rt_sigreturn:
        mov     sp,a0
        ldi     v0,__NR_rt_sigreturn
-diff --git a/sysdeps/sparc/sparc32/fpu/s_fdim.S 
b/sysdeps/sparc/sparc32/fpu/s_fdim.S
-index 2f0c5ce..22f69ce 100644
---- a/sysdeps/sparc/sparc32/fpu/s_fdim.S
-+++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S
-@@ -30,7 +30,8 @@ ENTRY(__fdim)
-       fbug    1f
-        st     %g0, [%sp + 76]
-       ldd     [%sp + 72], %f0
--      fnegd   %f0, %f2
-+      fnegs   %f0, %f2
-+      fmovs   %f1, %f3
- 1:    retl
-        fsubd  %f0, %f2, %f0
- END(__fdim)
-diff --git a/sysdeps/sparc/sparc64/multiarch/add_n.S 
b/sysdeps/sparc/sparc64/multiarch/add_n.S
-index 25cae39..22c6e58 100644
---- a/sysdeps/sparc/sparc64/multiarch/add_n.S
-+++ b/sysdeps/sparc/sparc64/multiarch/add_n.S
-@@ -42,7 +42,7 @@ ENTRY(__mpn_add_n)
-       sethi   %gdop_hix22(__mpn_add_n_generic), %o1
-       xor     %o1, %gdop_lox10(__mpn_add_n_generic), %o1
- # else
--      set     __mpn_add_n_vis3, %o1
-+      set     __mpn_add_n_generic, %o1
- # endif
- 10:
- # ifdef SHARED
-diff --git a/sysdeps/sparc/sparc64/multiarch/addmul_1.S 
b/sysdeps/sparc/sparc64/multiarch/addmul_1.S
-index a1659e4..a65c934 100644
---- a/sysdeps/sparc/sparc64/multiarch/addmul_1.S
-+++ b/sysdeps/sparc/sparc64/multiarch/addmul_1.S
-@@ -42,7 +42,7 @@ ENTRY(__mpn_addmul_1)
-       sethi   %gdop_hix22(__mpn_addmul_1_generic), %o1
-       xor     %o1, %gdop_lox10(__mpn_addmul_1_generic), %o1
- # else
--      set     __mpn_addmul_1_vis3, %o1
-+      set     __mpn_addmul_1_generic, %o1
- # endif
- 10:
- # ifdef SHARED
-diff --git a/sysdeps/sparc/sparc64/multiarch/mul_1.S 
b/sysdeps/sparc/sparc64/multiarch/mul_1.S
-index 25f51bf..811754e 100644
---- a/sysdeps/sparc/sparc64/multiarch/mul_1.S
-+++ b/sysdeps/sparc/sparc64/multiarch/mul_1.S
-@@ -42,7 +42,7 @@ ENTRY(__mpn_mul_1)
-       sethi   %gdop_hix22(__mpn_mul_1_generic), %o1
-       xor     %o1, %gdop_lox10(__mpn_mul_1_generic), %o1
- # else
--      set     __mpn_mul_1_vis3, %o1
-+      set     __mpn_mul_1_generic, %o1
- # endif
- 10:
- # ifdef SHARED
-diff --git a/sysdeps/sparc/sparc64/multiarch/sub_n.S 
b/sysdeps/sparc/sparc64/multiarch/sub_n.S
-index 5e15bea..3963790 100644
---- a/sysdeps/sparc/sparc64/multiarch/sub_n.S
-+++ b/sysdeps/sparc/sparc64/multiarch/sub_n.S
-@@ -42,7 +42,7 @@ ENTRY(__mpn_sub_n)
-       sethi   %gdop_hix22(__mpn_sub_n_generic), %o1
-       xor     %o1, %gdop_lox10(__mpn_sub_n_generic), %o1
- # else
--      set     __mpn_sub_n_vis3, %o1
-+      set     __mpn_sub_n_generic, %o1
- # endif
- 10:
- # ifdef SHARED
-diff --git a/sysdeps/sparc/sparc64/multiarch/submul_1.S 
b/sysdeps/sparc/sparc64/multiarch/submul_1.S
-index 68552e9..6c4c3a3 100644
---- a/sysdeps/sparc/sparc64/multiarch/submul_1.S
-+++ b/sysdeps/sparc/sparc64/multiarch/submul_1.S
-@@ -42,7 +42,7 @@ ENTRY(__mpn_submul_1)
-       sethi   %gdop_hix22(__mpn_submul_1_generic), %o1
-       xor     %o1, %gdop_lox10(__mpn_submul_1_generic), %o1
- # else
--      set     __mpn_submul_1_vis3, %o1
-+      set     __mpn_submul_1_generic, %o1
- # endif
- 10:
- # ifdef SHARED
+Index: ports/sysdeps/unix/sysv/linux/aarch64/clone.S
+===================================================================
+--- a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S    (révision 24653)
++++ b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S    (révision 25477)
+@@ -63,6 +63,7 @@
+       mov     x8, #SYS_ify(clone)
+       /* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid.  */
+       svc     0x0
++      cfi_endproc
+       cmp     x0, #0
+       beq     2f
+       blt     3f
+@@ -72,6 +73,9 @@
+       b       syscall_error
+ 
+ 2:
++      cfi_startproc
++      cfi_undefined (x30)
++      mov     x29, 0
+ #ifdef RESET_PID
+       tbnz    x5, #CLONE_THREAD_BIT, 3f
+       mov     x0, #-1
+@@ -93,7 +97,8 @@
+ 
+       /* We are done, pass the return value through x0.  */
+       b       HIDDEN_JUMPTARGET(_exit)
+-
++      cfi_endproc
++      cfi_startproc
+ PSEUDO_END (__clone)
+ 
+ weak_alias (__clone, clone)
+Index: ports/sysdeps/aarch64/fpu/fpu_control.h
+===================================================================
+--- a/ports/sysdeps/aarch64/fpu/fpu_control.h  (révision 24653)
++++ b/ports/sysdeps/aarch64/fpu/fpu_control.h  (révision 25477)
+@@ -59,6 +59,9 @@
+                    E E D D
+                        E E
+  */
++
++#define _FPU_FPCR_RM_MASK  0xc00000
++
+ #define _FPU_FPCR_MASK_IXE 0x1000
+ #define _FPU_FPCR_MASK_UFE 0x0800
+ #define _FPU_FPCR_MASK_OFE 0x0400
+Index: ports/sysdeps/aarch64/dl-trampoline.S
+===================================================================
+--- a/ports/sysdeps/aarch64/dl-trampoline.S    (révision 24653)
++++ b/ports/sysdeps/aarch64/dl-trampoline.S    (révision 25477)
+@@ -41,8 +41,8 @@
+       cfi_rel_offset (lr, 8)
+ 
+       /* Save arguments.  */
+-      stp     x8, x9, [sp, #-80]!
+-      cfi_adjust_cfa_offset (80)
++      stp     x8, x9, [sp, #-(80+8*16)]!
++      cfi_adjust_cfa_offset (80+8*16)
+       cfi_rel_offset (x8, 0)
+       cfi_rel_offset (x9, 8)
+ 
+@@ -62,11 +62,27 @@
+       cfi_rel_offset (x0, 64)
+       cfi_rel_offset (x1, 72)
+ 
++      stp     q0, q1, [sp, #(80+0*16)]
++      cfi_rel_offset (q0, 80+0*16)
++      cfi_rel_offset (q1, 80+1*16)
++
++      stp     q2, q3, [sp, #(80+2*16)]
++      cfi_rel_offset (q0, 80+2*16)
++      cfi_rel_offset (q1, 80+3*16)
++
++      stp     q4, q5, [sp, #(80+4*16)]
++      cfi_rel_offset (q0, 80+4*16)
++      cfi_rel_offset (q1, 80+5*16)
++
++      stp     q6, q7, [sp, #(80+6*16)]
++      cfi_rel_offset (q0, 80+6*16)
++      cfi_rel_offset (q1, 80+7*16)
++
+       /* Get pointer to linker struct.  */
+       ldr     x0, [ip0, #-8]
+ 
+       /* Prepare to call _dl_fixup().  */
+-      ldr     x1, [sp, 80]    /* Recover &PLTGOT[n] */
++      ldr     x1, [sp, 80+8*16]       /* Recover &PLTGOT[n] */
+ 
+       sub     x1, x1, ip0
+       add     x1, x1, x1, lsl #1
+@@ -81,12 +97,16 @@
+       mov     ip0, x0
+ 
+       /* Get arguments and return address back.  */
++      ldp     q0, q1, [sp, #(80+0*16)]
++      ldp     q2, q3, [sp, #(80+2*16)]
++      ldp     q4, q5, [sp, #(80+4*16)]
++      ldp     q6, q7, [sp, #(80+6*16)]
+       ldp     x0, x1, [sp, #64]
+       ldp     x2, x3, [sp, #48]
+       ldp     x4, x5, [sp, #32]
+       ldp     x6, x7, [sp, #16]
+-      ldp     x8, x9, [sp], #80
+-      cfi_adjust_cfa_offset (-80)
++      ldp     x8, x9, [sp], #(80+8*16)
++      cfi_adjust_cfa_offset (-(80+8*16))
+ 
+       ldp     ip1, lr, [sp], #16
+       cfi_adjust_cfa_offset (-16)
+Index: ports/sysdeps/aarch64/soft-fp/sfp-machine.h
+===================================================================
+--- a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h      (révision 24653)
++++ b/ports/sysdeps/aarch64/soft-fp/sfp-machine.h      (révision 25477)
+@@ -47,7 +47,7 @@
+ 
+ #define _FP_DECL_EX           fpu_control_t _fcw
+ 
+-#define FP_ROUNDMODE          (_fcw & 0x3)
++#define FP_ROUNDMODE          (_fcw & _FPU_FPCR_RM_MASK)
+ 
+ #define FP_RND_NEAREST                FE_TONEAREST
+ #define FP_RND_ZERO           FE_TOWARDZERO
+Index: ports/ChangeLog.alpha
+===================================================================
+--- a/ports/ChangeLog.alpha    (révision 24653)
++++ b/ports/ChangeLog.alpha    (révision 25477)
+@@ -1,3 +1,8 @@
++2013-11-16  Richard Henderson  <[email protected]>
++
++      * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Include a nop
++      before each signal thunk.
++
+ 2013-07-02  Richard Henderson  <[email protected]>
+ 
+         * sysdeps/alpha/fpu/libm-test-ulps: Update.
+Index: ports/ChangeLog.aarch64
+===================================================================
+--- a/ports/ChangeLog.aarch64  (révision 24653)
++++ b/ports/ChangeLog.aarch64  (révision 25477)
+@@ -1,3 +1,27 @@
++2014-01-20  Tom Tromey  <[email protected]>
++
++      [BZ #16169]
++      * sysdeps/unix/sysv/linux/aarch64/clone.S (__clone): Add CFI
++      directives;  Zero x29.
++
++2014-01-07  Marcus Shawcroft  <[email protected]>
++
++      [BZ #16387]
++      * sysdeps/aarch64/fpu/fpu_control.h (_FPU_FPCR_RM_MASK): Define.
++      * sysdeps/aarch64/soft-fp/sfp-machine.h (FP_ROUNDMODE): Adjust
++      rounding mode mask.
++
++2014-01-07  Marcus Shawcroft  <[email protected]>
++
++      * sysdeps/aarch64/dl-trampoline.S (_dl_runtime_resolve): Correct
++      cfi_adjust_cfa_offset offset.
++
++2013-12-18  Marcus Shawcroft  <[email protected]>
++
++      [BZ #15128]
++      * sysdeps/aarch64/dl-trampoline.S (_dl_runtime_resolve): Save and
++      restore q0-q7.
++
+ 2013-07-26  Marcus Shawcroft  <[email protected]>
+ 
+       * sysdeps/aarch64/Versions: New file.
+Index: malloc/malloc.c
+===================================================================
+--- a/malloc/malloc.c  (révision 24653)
++++ b/malloc/malloc.c  (révision 25477)
+@@ -3809,25 +3809,29 @@
+     unsigned int idx = fastbin_index(size);
+     fb = &fastbin (av, idx);
+ 
+-    mchunkptr fd;
+-    mchunkptr old = *fb;
++    /* Atomically link P to its fastbin: P->FD = *FB; *FB = P;  */
++    mchunkptr old = *fb, old2;
+     unsigned int old_idx = ~0u;
+     do
+       {
+-      /* Another simple check: make sure the top of the bin is not the
+-         record we are going to add (i.e., double free).  */
++      /* Check that the top of the bin is not the record we are going to add
++         (i.e., double free).  */
+       if (__builtin_expect (old == p, 0))
+         {
+           errstr = "double free or corruption (fasttop)";
+           goto errout;
+         }
+-      if (old != NULL)
++      /* Check that size of fastbin chunk at the top is the same as
++         size of the chunk that we are adding.  We can dereference OLD
++         only if we have the lock, otherwise it might have already been
++         deallocated.  See use of OLD_IDX below for the actual check.  */
++      if (have_lock && old != NULL)
+         old_idx = fastbin_index(chunksize(old));
+-      p->fd = fd = old;
++      p->fd = old2 = old;
+       }
+-    while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
++    while ((old = catomic_compare_and_exchange_val_rel (fb, p, old2)) != 
old2);
+ 
+-    if (fd != NULL && __builtin_expect (old_idx != idx, 0))
++    if (have_lock && old != NULL && __builtin_expect (old_idx != idx, 0))
+       {
+       errstr = "invalid fastbin entry (free)";
+       goto errout;


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Reply via email to