[glibc] Resync with upstream master
Siddhesh Poyarekar
siddhesh at fedoraproject.org
Tue Jun 4 16:54:47 UTC 2013
commit 3cd9b9ce3d4e69b8e030cc8437b7b5a4a607f350
Author: Siddhesh Poyarekar <siddhesh.poyarekar at gmail.com>
Date: Tue Jun 4 22:23:45 2013 +0530
Resync with upstream master
Dropped upstreamed patches and adjusted others to apply to latest
upstream.
glibc-fedora-elf-init-hidden_undef.patch | 10 +-
glibc-fedora-regcomp-sw11561.patch | 147 --------
glibc-rh841318.patch | 20 +-
glibc-rh892777.patch | 61 ----
glibc-rh905184.patch | 95 -----
glibc-rh905877.patch | 147 --------
glibc-rh911307.patch | 7 +-
glibc-rh921760.patch | 55 ---
glibc-rh959034.patch | 80 -----
glibc-rh961238.patch | 560 ------------------------------
glibc-stap-libm.patch | 99 +++---
glibc.spec | 29 +--
sources | 4 +-
13 files changed, 77 insertions(+), 1237 deletions(-)
---
diff --git a/glibc-fedora-elf-init-hidden_undef.patch b/glibc-fedora-elf-init-hidden_undef.patch
index cd50d3b..36ef59c 100644
--- a/glibc-fedora-elf-init-hidden_undef.patch
+++ b/glibc-fedora-elf-init-hidden_undef.patch
@@ -4,9 +4,9 @@
diff -Nrup a/csu/elf-init.c b/csu/elf-init.c
--- a/csu/elf-init.c 2012-06-05 07:42:49.000000000 -0600
+++ b/csu/elf-init.c 2012-06-07 12:15:21.570319597 -0600
-@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int,
- extern void (*__fini_array_start []) (void) attribute_hidden;
- extern void (*__fini_array_end []) (void) attribute_hidden;
+@@ -62,6 +62,23 @@ extern void _fini (void);
+ programs, this module will come from libc_nonshared.a and differs from
+ the libc.a module in that it doesn't call the preinit array. */
+#if defined HAVE_VISIBILITY_ATTRIBUTE \
+ && (defined SHARED || defined LIBC_NONSHARED)
@@ -26,5 +26,5 @@ diff -Nrup a/csu/elf-init.c b/csu/elf-init.c
+hidden_undef (__fini_array_start)
+hidden_undef (__fini_array_end)
- /* These function symbols are provided for the .init/.fini section entry
- points automagically by the linker. */
+ void
+ __libc_csu_init (int argc, char **argv, char **envp)
diff --git a/glibc-rh841318.patch b/glibc-rh841318.patch
index 21859d5..18ffd8f 100644
--- a/glibc-rh841318.patch
+++ b/glibc-rh841318.patch
@@ -5,7 +5,7 @@ diff -Nrup a/stdio-common/Makefile b/stdio-common/Makefile
bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
bug-vfprintf-nargs tst-long-dbl-fphex tst-fphex-wide tst-sprintf3 \
-- bug25 tst-printf-round
+- bug25 tst-printf-round bug26
+ bug25 tst-printf-round bug23-2 bug23-3
test-srcs = tst-unbputc tst-printf
@@ -45165,9 +45165,9 @@ diff -Nrup a/stdio-common/bug23-3.c b/stdio-common/bug23-3.c
+#include "../test-skeleton.c"
+
diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
---- a/stdio-common/vfprintf.c 2012-09-14 14:31:29.000000000 -0600
-+++ b/stdio-common/vfprintf.c 2012-09-14 14:41:27.891840141 -0600
-@@ -243,6 +243,12 @@ vfprintf (FILE *s, const CHAR_T *format,
+--- a/stdio-common/vfprintf.c 2013-06-04 16:40:55.000000000 +0530
++++ b/stdio-common/vfprintf.c 2013-06-04 21:17:10.648403112 +0530
+@@ -263,6 +263,12 @@ vfprintf (FILE *s, const CHAR_T *format,
/* For the argument descriptions, which may be allocated on the heap. */
void *args_malloced = NULL;
@@ -45180,7 +45180,7 @@ diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
/* This table maps a character into a number representing a
class. In each step there is a destination label for each
class. */
-@@ -1685,8 +1691,8 @@ do_positional:
+@@ -1672,8 +1678,8 @@ do_positional:
size_t nspecs = 0;
/* A more or less arbitrary start value. */
size_t nspecs_size = 32 * sizeof (struct printf_spec);
@@ -45190,7 +45190,7 @@ diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
/* The number of arguments the format string requests. This will
determine the size of the array needed to store the argument
attributes. */
-@@ -1727,10 +1733,25 @@ do_positional:
+@@ -1715,10 +1721,25 @@ do_positional:
{
/* Extend the array of format specifiers. */
struct printf_spec *old = specs;
@@ -45218,12 +45218,12 @@ diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
}
/* Parse the format specifier. */
-@@ -2045,6 +2066,8 @@ do_positional:
+@@ -2039,6 +2060,8 @@ do_positional:
}
all_done:
+ if (specs_malloced)
+ free (specs);
- free (args_malloced);
- free (workstart);
- /* Unlock the stream. */
+ if (__glibc_unlikely (args_malloced != NULL))
+ free (args_malloced);
+ if (__glibc_unlikely (workstart != NULL))
diff --git a/glibc-rh911307.patch b/glibc-rh911307.patch
index 9eb0426..49de569 100644
--- a/glibc-rh911307.patch
+++ b/glibc-rh911307.patch
@@ -24,9 +24,9 @@
diff -urN glibc-2.17-c758a686/string/Makefile tmp/glibc-2.17-c758a686/string/Makefile
--- glibc-2.17-c758a686/string/Makefile 2013-02-27 18:07:34.618968703 -0500
+++ tmp/glibc-2.17-c758a686/string/Makefile 2013-02-27 18:08:16.075796160 -0500
-@@ -78,6 +78,14 @@
- CFLAGS-bug-strstr1.c = -fno-builtin
- CFLAGS-bug-strcasestr1.c = -fno-builtin
+@@ -72,6 +72,14 @@ CFLAGS-stratcliff.c = -fno-builtin
+ CFLAGS-test-ffs.c = -fno-builtin
+ CFLAGS-tst-inlcall.c = -fno-builtin
+# Disable any optimization which might result in function calls to the very
+# same functions we are trying to compile, thus creating an infinite loop.
@@ -58,3 +58,4 @@ diff -urN glibc-2.17-c758a686/elf/Makefile tmp/glibc-2.17-c758a686/elf/Makefile
+
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
generated += $(addsuffix .so,$(strip $(modules-names)))
+
diff --git a/glibc-stap-libm.patch b/glibc-stap-libm.patch
index fd20b7f..a9fe600 100644
--- a/glibc-stap-libm.patch
+++ b/glibc-stap-libm.patch
@@ -1,41 +1,42 @@
diff -rup c/sysdeps/ieee754/dbl-64/slowexp.c d/sysdeps/ieee754/dbl-64/slowexp.c
---- c/sysdeps/ieee754/dbl-64/slowexp.c 2012-05-20 19:47:38.000000000 -0600
-+++ d/sysdeps/ieee754/dbl-64/slowexp.c 2012-05-21 10:02:51.693957300 -0600
-@@ -30,6 +30,8 @@
- #include "mpa.h"
+--- c/sysdeps/ieee754/dbl-64/slowexp.c 2013-06-04 16:40:55.000000000 +0530
++++ d/sysdeps/ieee754/dbl-64/slowexp.c 2013-06-04 21:02:49.377439607 +0530
+@@ -29,6 +29,8 @@
+ /**************************************************************************/
#include <math_private.h>
+#include <stap-probe.h>
+
- #ifndef SECTION
- # define SECTION
- #endif
-@@ -60,12 +62,21 @@ __slowexp(double x) {
- __sub(&mpy,&mpcor,&mpz,p);
- __mp_dbl(&mpw, &w, p);
- __mp_dbl(&mpz, &z, p);
-- if (w == z) return w;
-+ if (w == z) {
-+ /* Track how often we get to the slow exp code plus
-+ its input/output values. */
-+ LIBC_PROBE (slowexp_p6, 2, &x, &w);
-+ return w;
-+ }
- else { /* if calculating is not exactly */
- p = 32;
- __dbl_mp(x,&mpx,p);
- __mpexp(&mpx, &mpy, p);
- __mp_dbl(&mpy, &res, p);
+ #ifndef USE_LONG_DOUBLE_FOR_MP
+ # include "mpa.h"
+ void __mpexp (mp_no *x, mp_no *y, int p);
+@@ -60,13 +62,22 @@ __slowexp (double x)
+ __mp_dbl (&mpw, &w, p);
+ __mp_dbl (&mpz, &z, p);
+ if (w == z)
+- return w;
++ {
++ /* Track how often we get to the slow exp code plus
++ its input/output values. */
++ LIBC_PROBE (slowexp_p6, 2, &x, &w);
++ return w;
++ }
+ else
+ {
+ p = 32;
+ __dbl_mp (x, &mpx, p);
+ __mpexp (&mpx, &mpy, p);
+ __mp_dbl (&mpy, &res, p);
+
-+ /* Track how often we get to the uber-slow exp code plus
-+ its input/output values. */
-+ LIBC_PROBE (slowexp_p32, 2, &x, &res);
- return res;
- }
- }
++ /* Track how often we get to the uber-slow exp code plus
++ its input/output values. */
++ LIBC_PROBE (slowexp_p32, 2, &x, &res);
+ return res;
+ }
+ #else
diff -rup c/sysdeps/ieee754/dbl-64/slowpow.c d/sysdeps/ieee754/dbl-64/slowpow.c
---- c/sysdeps/ieee754/dbl-64/slowpow.c 2012-05-20 19:47:38.000000000 -0600
-+++ d/sysdeps/ieee754/dbl-64/slowpow.c 2012-05-21 10:02:51.694957291 -0600
+--- c/sysdeps/ieee754/dbl-64/slowpow.c 2013-06-04 16:40:55.000000000 +0530
++++ d/sysdeps/ieee754/dbl-64/slowpow.c 2013-06-04 21:05:21.776433149 +0530
@@ -34,6 +34,8 @@
#include "mpa.h"
#include <math_private.h>
@@ -45,28 +46,28 @@ diff -rup c/sysdeps/ieee754/dbl-64/slowpow.c d/sysdeps/ieee754/dbl-64/slowpow.c
#ifndef SECTION
# define SECTION
#endif
-@@ -65,7 +67,12 @@ __slowpow(double x, double y, double z)
- __mp_dbl(&mpr, &res, p);
- __sub(&mpp,&eps,&mpr1,p); /* pp -eps =r1 */
- __mp_dbl(&mpr1, &res1, p); /* converting into double precision */
-- if (res == res1) return res;
-+ if (res == res1) {
-+ /* Track how often we get to the slow pow code plus
-+ its input/output values. */
-+ LIBC_PROBE (slowpow_p6, 4, &x, &y, &z, &res);
-+ return res;
-+ }
+@@ -97,7 +99,12 @@ __slowpow (double x, double y, double z)
+ __sub (&mpp, &eps, &mpr1, p);
+ __mp_dbl (&mpr1, &res1, p);
+ if (res == res1)
+- return res;
++ {
++ /* Track how often we get to the slow pow code plus
++ its input/output values. */
++ LIBC_PROBE (slowpow_p6, 4, &x, &y, &z, &res);
++ return res;
++ }
- p = 32; /* if we get here result wasn't calculated exactly, continue */
- __dbl_mp(x,&mpx,p); /* for more exact calculation */
-@@ -75,5 +82,10 @@ __slowpow(double x, double y, double z)
- __mul(&mpy,&mpz,&mpw,p); /* y*z =w */
- __mpexp(&mpw, &mpp, p); /* e^w=pp */
- __mp_dbl(&mpp, &res, p); /* converting into double precision */
+ /* If we don't, then we repeat using a higher precision. 768 bits of
+ precision ought to be enough for anybody. */
+@@ -109,5 +116,10 @@ __slowpow (double x, double y, double z)
+ __mul (&mpy, &mpz, &mpw, p);
+ __mpexp (&mpw, &mpp, p);
+ __mp_dbl (&mpp, &res, p);
+
+ /* Track how often we get to the uber-slow pow code plus
+ its input/output values. */
-+ LIBC_PROBE (slowpow_p32, 4, &x, &y, &z, &res);
++ LIBC_PROBE (slowpow_p32, 4, &x, &y, &z, &res);
+
return res;
}
diff --git a/glibc.spec b/glibc.spec
index e5ed333..39be2bf 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,5 +1,5 @@
-%define glibcsrcdir glibc-2.17-c758a686
-%define glibcversion 2.17
+%define glibcsrcdir glibc-2.17-757-g96df079
+%define glibcversion 2.17.90
### glibc.spec.in follows:
%define run_glibc_tests 1
%define auxarches athlon alphaev6
@@ -27,7 +27,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: %{glibcversion}
-Release: 9%{?dist}
+Release: 1%{?dist}
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -63,7 +63,6 @@ Source1: %{glibcsrcdir}-releng.tar.gz
# change this.
Patch0001: %{name}-fedora-nscd.patch
-Patch0002: %{name}-fedora-regcomp-sw11561.patch
Patch0003: %{name}-fedora-ldd.patch
Patch0004: %{name}-fedora-ppc-unwind.patch
@@ -108,17 +107,11 @@ Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
# Needs to be sent upstream
Patch0035: %{name}-rh911307.patch
-Patch0036: %{name}-rh892777.patch
Patch0037: %{name}-rh952799.patch
-Patch0038: %{name}-rh959034.patch
#
# Patches from upstream
#
-# Upstream BZ 15078
-Patch2029: %{name}-rh905877.patch
-
-Patch1030: %{name}-rh921760.patch
#
# Patches submitted, but not yet approved upstream.
@@ -147,12 +140,6 @@ Patch2026: %{name}-rh841787.patch
# Upstream BZ 14185
Patch2027: %{name}-rh819430.patch
-# Upstream BZ 15006
-Patch2028: %{name}-rh905184.patch
-
-# Upstream BZ 15465
-Patch2039: %{name}-rh961238.patch
-
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Obsoletes: glibc-profile < 2.4
Obsoletes: nss_db
@@ -377,7 +364,6 @@ package or when debugging this package.
%setup -q -n %{glibcsrcdir} -b1
%patch0001 -p1
-%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%patch0005 -p1
@@ -410,14 +396,8 @@ package or when debugging this package.
%patch0032 -p1
%patch0033 -p1
%patch0034 -p1
-%patch2028 -p1
%patch0035 -p1
-%patch0036 -p1
%patch0037 -p1
-%patch2029 -p1
-%patch1030 -p1
-%patch0038 -p1
-%patch2039 -p1
# On powerpc32, hp timing is only available in power4/power6
# libs, not in base, so pre-power4 dynamic linker is incompatible
@@ -1217,6 +1197,9 @@ rm -f *.filelist*
%endif
%changelog
+* Tue Jun 4 2013 Siddhesh Poyarekar <siddhesh at redhat.com> - 2.17.90-1
+ - Resync with upstream master.
+
* Tue May 14 2013 Siddhesh Poyarekar <siddhesh at redhat.com> - 2.17-9
- Avoid crashing in LD_DEBUG when program name is unavailable (#961238).
diff --git a/sources b/sources
index d1d2286..f3afc4a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-a0eee6c5a6ed680b723f2247576d4232 glibc-2.17-c758a686-releng.tar.gz
-d91ac2e9667310fa815c2316d542567e glibc-2.17-c758a686.tar.gz
+caa90cd9da8f21559e2d548b91ce55a3 glibc-2.17-757-g96df079.tar.gz
+f95967f50dfad07b8afe06f7358a80c9 glibc-2.17-757-g96df079-releng.tar.gz
More information about the scm-commits
mailing list