diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index e4db983..07a9782 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 26 09:03:25 UTC 2014 - schwab@suse.de + +- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623) +- pldd-wait-ptrace-stop.patch: Update from upstream + ------------------------------------------------------------------- Mon Feb 24 11:38:41 UTC 2014 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index 6f80d1b..a767b8e 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -231,12 +231,14 @@ Patch306: glibc-fix-double-loopback.diff ### # PATCH-FIX-UPSTREAM fix memory leak in nss_dns Patch1000: nss-dns-memleak.patch +# PATCH-FIX-UPSTREAM Fix sign of input to bsloww1 (BZ #16623) +Patch1001: sin-sign.patch +# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching +Patch1002: pldd-wait-ptrace-stop.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching -Patch2019: pldd-wait-ptrace-stop.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -438,8 +440,8 @@ rm nscd/s-stamp %patch306 -p1 %patch1000 -p1 - -%patch2019 -p1 +%patch1001 -p1 +%patch1002 -p1 %patch3000 diff --git a/glibc-utils.changes b/glibc-utils.changes index e4db983..07a9782 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 26 09:03:25 UTC 2014 - schwab@suse.de + +- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623) +- pldd-wait-ptrace-stop.patch: Update from upstream + ------------------------------------------------------------------- Mon Feb 24 11:38:41 UTC 2014 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index bf8cfa1..c400259 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -230,12 +230,14 @@ Patch306: glibc-fix-double-loopback.diff ### # PATCH-FIX-UPSTREAM fix memory leak in nss_dns Patch1000: nss-dns-memleak.patch +# PATCH-FIX-UPSTREAM Fix sign of input to bsloww1 (BZ #16623) +Patch1001: sin-sign.patch +# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching +Patch1002: pldd-wait-ptrace-stop.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching -Patch2019: pldd-wait-ptrace-stop.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -438,8 +440,8 @@ rm nscd/s-stamp %patch306 -p1 %patch1000 -p1 - -%patch2019 -p1 +%patch1001 -p1 +%patch1002 -p1 %patch3000 diff --git a/glibc.changes b/glibc.changes index e4db983..07a9782 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 26 09:03:25 UTC 2014 - schwab@suse.de + +- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623) +- pldd-wait-ptrace-stop.patch: Update from upstream + ------------------------------------------------------------------- Mon Feb 24 11:38:41 UTC 2014 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index 5316094..f25014c 100644 --- a/glibc.spec +++ b/glibc.spec @@ -231,12 +231,14 @@ Patch306: glibc-fix-double-loopback.diff ### # PATCH-FIX-UPSTREAM fix memory leak in nss_dns Patch1000: nss-dns-memleak.patch +# PATCH-FIX-UPSTREAM Fix sign of input to bsloww1 (BZ #16623) +Patch1001: sin-sign.patch +# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching +Patch1002: pldd-wait-ptrace-stop.patch ### # Patches awaiting upstream approval ### -# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching -Patch2019: pldd-wait-ptrace-stop.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -438,8 +440,8 @@ rm nscd/s-stamp %patch306 -p1 %patch1000 -p1 - -%patch2019 -p1 +%patch1001 -p1 +%patch1002 -p1 %patch3000 diff --git a/pldd-wait-ptrace-stop.patch b/pldd-wait-ptrace-stop.patch index d5c0256..38520bc 100644 --- a/pldd-wait-ptrace-stop.patch +++ b/pldd-wait-ptrace-stop.patch @@ -1,12 +1,13 @@ -2013-07-31 Andreas Schwab +2014-02-24 Andreas Schwab + [BZ #15804] * elf/pldd.c (wait_for_ptrace_stop): New function. (main): Call it after attaching. -Index: glibc-2.17.90/elf/pldd.c +Index: glibc-2.19/elf/pldd.c =================================================================== ---- glibc-2.17.90.orig/elf/pldd.c -+++ glibc-2.17.90/elf/pldd.c +--- glibc-2.19.orig/elf/pldd.c ++++ glibc-2.19/elf/pldd.c @@ -34,6 +34,7 @@ #include #include @@ -32,7 +33,7 @@ Index: glibc-2.17.90/elf/pldd.c struct thread_list *newp = alloca (sizeof (*newp)); newp->tid = tid; newp->next = thread_list; -@@ -194,6 +198,24 @@ main (int argc, char *argv[]) +@@ -194,6 +198,27 @@ main (int argc, char *argv[]) } @@ -49,7 +50,10 @@ Index: glibc-2.17.90/elf/pldd.c + /* The STOP signal should not be delivered to the tracee. */ + if (WSTOPSIG (status) == SIGSTOP) + return; -+ ptrace (PTRACE_CONT, pid, NULL, (void *) (uintptr_t) WSTOPSIG (status)); ++ if (ptrace (PTRACE_CONT, pid, NULL, ++ (void *) (uintptr_t) WSTOPSIG (status))) ++ /* The only possible error is that the process died. */ ++ return; + } +} + diff --git a/sin-sign.patch b/sin-sign.patch new file mode 100644 index 0000000..0f001c3 --- /dev/null +++ b/sin-sign.patch @@ -0,0 +1,54 @@ +Index: glibc-2.19/sysdeps/ieee754/dbl-64/s_sin.c +=================================================================== +--- glibc-2.19.orig/sysdeps/ieee754/dbl-64/s_sin.c ++++ glibc-2.19/sysdeps/ieee754/dbl-64/s_sin.c +@@ -447,19 +447,21 @@ __sin (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +@@ -671,19 +673,21 @@ __cos (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res)