r5831 - in glibc-package/branches/eglibc-2.18/debian: . patches patches/any
Author: aurel32
Date: 2013-11-30 09:57:22 +0000 (Sat, 30 Nov 2013)
New Revision: 5831
Added:
glibc-package/branches/eglibc-2.18/debian/patches/any/svn-updates.diff
Modified:
glibc-package/branches/eglibc-2.18/debian/changelog
glibc-package/branches/eglibc-2.18/debian/patches/series
Log:
* patches/svn-updates.diff: update with the glibc 2.18 branch to get commits
which are not yet available in eglibc. Fixes multiarch math functions on
sparc.
Modified: glibc-package/branches/eglibc-2.18/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-30 08:22:58 UTC (rev 5830)
+++ glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-30 09:57:22 UTC (rev 5831)
@@ -147,6 +147,9 @@
/ CVE-2013-4458 (Closes: #727181).
* testsuite-checking/expected-results-s390-linux-gnu-s390,
testsuite-checking/expected-results-s390x-linux-gnu-libc: cleanup.
+ * patches/svn-updates.diff: update with the glibc 2.18 branch to get commits
+ which are not yet available in eglibc. Fixes multiarch math functions on
+ sparc.
-- Adam Conrad <adconrad@ubuntu.com> Sat, 09 Nov 2013 12:48:20 +0100
Added: glibc-package/branches/eglibc-2.18/debian/patches/any/svn-updates.diff
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/any/svn-updates.diff (rev 0)
+++ glibc-package/branches/eglibc-2.18/debian/patches/any/svn-updates.diff 2013-11-30 09:57:22 UTC (rev 5831)
@@ -0,0 +1,233 @@
+diff --git a/ChangeLog b/ChangeLog
+index 0dbefe3..1e5efa7 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,19 @@
++2013-11-11 David S. Miller <davem@davemloft.net>
++
++ [BZ #16150]
++ * sysdeps/sparc/sparc64/multiarch/add_n.S: Resolve to the correct generic
++ symbol in the non-vis3 case in static builds.
++ * sysdeps/sparc/sparc64/multiarch/addmul_1.S: Likewise.
++ * sysdeps/sparc/sparc64/multiarch/mul_1.S: Likewise.
++ * sysdeps/sparc/sparc64/multiarch/sub_n.S: Likewise.
++ * sysdeps/sparc/sparc64/multiarch/submul_1.S: Likewise.
++
++2013-11-06 David S. Miller <davem@davemloft.net>
++
++ [BZ #15985]
++ * sysdeps/sparc/sparc32/fpu/s_fdim.S (__fdim): Do not use fnegd
++ on pre-v9 cpus, use a fnegs+fmovs sequence instead.
++
+ 2013-09-06 David S. Miller <davem@davemloft.net>
+
+ * po/zh_TW.po: Update Chinese (traditional) translation from
+diff --git a/NEWS b/NEWS
+index f64fb82..df97235 100644
+--- a/NEWS
++++ b/NEWS
+@@ -9,7 +9,7 @@ Version 2.18.1
+
+ * The following bugs are resolved with this release:
+
+- 15909.
++ 15909, 15996, 16150.
+
+ Version 2.18
+
+@@ -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.
+
+ * 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/nptl/ChangeLog b/nptl/ChangeLog
+index eae5079..2d78490 100644
+--- a/nptl/ChangeLog
++++ b/nptl/ChangeLog
+@@ -1,3 +1,12 @@
++2013-10-03 Siddhesh Poyarekar <siddhesh@redhat.com>
++
++ [BZ #15996]
++ * pthread_cond_broadcast.c (__pthread_cond_broadcast)
++ [lll_futex_cmp_requeue_pi && __ASSUME_REQUEUE_PI]: Use
++ USE_REQUEUE_PI.
++ * pthread_cond_signal.c (__pthread_cond_signal)
++ [lll_futex_cmd_requeue_pi && __ASSUME_REQUEUE_PI]: Likewise.
++
+ 2013-07-23 David S. Miller <davem@davemloft.net>
+
+ * tst-cancel4.c (WRITE_BUFFER_SIZE): Adjust comment.
+diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
+index 0702ec0..7ba9efa 100644
+--- a/nptl/pthread_cond_broadcast.c
++++ b/nptl/pthread_cond_broadcast.c
+@@ -63,10 +63,7 @@ __pthread_cond_broadcast (cond)
+
+ #if (defined lll_futex_cmp_requeue_pi \
+ && defined __ASSUME_REQUEUE_PI)
+- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
+- pi_flag &= mut->__data.__kind;
+-
+- if (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP)
++ if (USE_REQUEUE_PI (mut))
+ {
+ if (lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, INT_MAX,
+ &mut->__data.__lock, futex_val,
+diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
+index 102d0b3..ffc35dc 100644
+--- a/nptl/pthread_cond_signal.c
++++ b/nptl/pthread_cond_signal.c
+@@ -49,14 +49,9 @@ __pthread_cond_signal (cond)
+
+ #if (defined lll_futex_cmp_requeue_pi \
+ && defined __ASSUME_REQUEUE_PI)
+- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP;
+ pthread_mutex_t *mut = cond->__data.__mutex;
+
+- /* Do not use requeue for pshared condvars. */
+- if (mut != (void *) ~0l)
+- pi_flag &= mut->__data.__kind;
+-
+- if (__builtin_expect (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP, 0)
++ if (USE_REQUEUE_PI (mut)
+ /* This can only really fail with a ENOSYS, since nobody can modify
+ futex while we have the cond_lock. */
+ && lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, 0,
+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 <rth@redhat.com>
++
++ * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Include a nop
++ before each signal thunk.
++
+ 2013-07-02 Richard Henderson <rth@redhat.com>
+
+ * 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)
+ cfi_offset (64, \base + 2 * 8)
+ .endm
+
+- .align 4
+-
+ cfi_startproc
+ cfi_return_column (64)
+ .cfi_signal_frame
+ SIGCONTEXT_REGS -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
++ not marked as a signal frame and so the unwinder still tries to
++ subtract 1 to examine the presumed call insn. Thus we must
++ extend the unwind info to a nop before the start. */
++ nop
++ .align 4
++
+ __syscall_sigreturn:
+ mov sp, a0
+ ldi v0, __NR_sigreturn
+@@ -98,8 +105,11 @@ __syscall_sigreturn:
+ .size __syscall_sigreturn, .-__syscall_sigreturn
+ .type __syscall_sigreturn, @function
+
+- .align 4
++ /* See above wrt including the nop. */
+ cfi_def_cfa_offset (176 + 648)
++ nop
++ .align 4
++
+ __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
Modified: glibc-package/branches/eglibc-2.18/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-30 08:22:58 UTC (rev 5830)
+++ glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-30 09:57:22 UTC (rev 5831)
@@ -1,4 +1,4 @@
-#svn-updates.diff
+svn-updates.diff
locale/check-unknown-symbols.diff
locale/fix-LC_COLLATE-rules.diff
Reply to: