SHA256
1
0
forked from pool/glibc

Accepting request 223957 from home:Andreas_Schwab:Factory

- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623)
- pldd-wait-ptrace-stop.patch: Update from upstream

OBS-URL: https://build.opensuse.org/request/show/223957
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=336
This commit is contained in:
Andreas Schwab 2014-02-26 13:47:49 +00:00 committed by Git OBS Bridge
parent f800504c8a
commit 06e272ed76
8 changed files with 100 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,12 +1,13 @@
2013-07-31 Andreas Schwab <schwab@suse.de>
2014-02-24 Andreas Schwab <schwab@suse.de>
[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 <unistd.h>
#include <sys/ptrace.h>
@ -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;
+ }
+}
+

54
sin-sign.patch Normal file
View File

@ -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)