sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Florian Franzmann (f8dff64b8f8bd81ee7ee4dea90773cdbb6a384c9)
- From: Florian Franzmann <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Florian Franzmann (f8dff64b8f8bd81ee7ee4dea90773cdbb6a384c9)
- Date: Sun, 25 May 2014 11:31:51 -0500
GIT changes to master grimoire by Florian Franzmann
<siflfran AT hawo.stw.uni-erlangen.de>:
libs/glibc/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch |
51 +++++++
libs/glibc/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch |
28 +++
libs/glibc/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch |
64 +++++++++
libs/glibc/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch |
68 +++++++++
libs/glibc/HISTORY |
9 +
libs/glibc/PRE_BUILD |
10 +
libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch |
71 ++++++++++
libs/glibc/glibc-2.19-xattr_header.patch |
42 +++++
8 files changed, 343 insertions(+)
New commits:
commit f8dff64b8f8bd81ee7ee4dea90773cdbb6a384c9
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
libs/glibc: add bug fixes from gentoo
commit 7ca290f3fdf682314d755b6cca45010a4ee2ef31
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
libs/glibc: add bug fixes from arch linux
diff --git
a/libs/glibc/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch
b/libs/glibc/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch
new file mode 100644
index 0000000..5a71075
--- /dev/null
+++ b/libs/glibc/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch
@@ -0,0 +1,51 @@
+From 6a714e48586aa7f21d2eeef9195cee57c9ebaa60 Mon Sep 17 00:00:00 2001
+From: Thorsten Kukuk <kukuk AT suse.de>
+Date: Fri, 16 Aug 2013 14:54:23 -0400
+Subject: [PATCH 05/11] reload /etc/resolv.conf when it has changed
+
+if /etc/resolv.conf is updated, then make sure applications
+already running get the updated information.
+
+ripped from SuSE
+
+http://bugs.gentoo.org/177416
+---
+ resolv/res_libc.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/resolv/res_libc.c b/resolv/res_libc.c
+index ee3fa21..f30b3a9 100644
+--- a/resolv/res_libc.c
++++ b/resolv/res_libc.c
+@@ -22,6 +22,7 @@
+ #include <arpa/nameser.h>
+ #include <resolv.h>
+ #include <bits/libc-lock.h>
++#include <sys/stat.h>
+
+
+ /* The following bit is copied from res_data.c (where it is #ifdef'ed
+@@ -95,6 +96,20 @@ int
+ __res_maybe_init (res_state resp, int preinit)
+ {
+ if (resp->options & RES_INIT) {
++ static time_t last_mtime, last_check;
++ time_t now;
++ struct stat statbuf;
++
++ time (&now);
++ if (now != last_check) {
++ last_check = now;
++ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime
!= statbuf.st_mtime) {
++ last_mtime = statbuf.st_mtime;
++ atomicinclock (lock);
++ atomicinc (__res_initstamp);
++ atomicincunlock (lock);
++ }
++ }
+ if (__res_initstamp != resp->_u._ext.initstamp) {
+ if (resp->nscount > 0)
+ __res_iclose (resp, true);
+--
+1.8.5.4
+
diff --git
a/libs/glibc/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch
b/libs/glibc/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch
new file mode 100644
index 0000000..a3523a6
--- /dev/null
+++ b/libs/glibc/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch
@@ -0,0 +1,28 @@
+From 2a6098d40483e825eebc18f74203b0b1d1c6e6c8 Mon Sep 17 00:00:00 2001
+From: Guy Martin <gmsoft AT tuxicoman.be>
+Date: Fri, 16 Aug 2013 15:00:05 -0400
+Subject: [PATCH 07/11] rtld: do not ignore arch-specific CFLAGS
+
+https://bugs.gentoo.org/452184
+http://sourceware.org/bugzilla/show_bug.cgi?id=15005
+http://sourceware.org/ml/libc-alpha/2013-01/msg00247.html
+---
+ elf/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/elf/Makefile b/elf/Makefile
+index 4c58fc9..56900d2 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -421,7 +421,7 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS)
-D'LIBDIR="$(libdir)"' \
+ -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1
+ CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
+ CFLAGS-cache.c = $(SYSCONF-FLAGS)
+-CFLAGS-rtld.c = $(SYSCONF-FLAGS)
++CFLAGS-rtld.c += $(SYSCONF-FLAGS)
+
+ CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst
%,%.os,$(all-rtld-routines))),\
+ -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
+--
+1.8.5.4
+
diff --git
a/libs/glibc/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
b/libs/glibc/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
new file mode 100644
index 0000000..7ad04dc
--- /dev/null
+++
b/libs/glibc/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
@@ -0,0 +1,64 @@
+From 8f1bdcb971a624a08796dae3ad01a9eb7552ba24 Mon Sep 17 00:00:00 2001
+From: Carlos O'Donell <carlos AT systemhalted.org>
+Date: Fri, 16 Aug 2013 15:00:53 -0400
+Subject: [PATCH 08/11] nptl: handle EAGAIN with some futex operations
+
+https://bugs.gentoo.org/452184
+---
+ nptl/pthread_mutex_trylock.c | 3 ++-
+ nptl/sysdeps/unix/sysv/linux/sem_timedwait.c | 2 +-
+ nptl/sysdeps/unix/sysv/linux/sem_wait.c | 4 ++--
+ 3 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/nptl/pthread_mutex_trylock.c b/nptl/pthread_mutex_trylock.c
+index 4d5f75d..4bf19ec 100644
+--- a/nptl/pthread_mutex_trylock.c
++++ b/nptl/pthread_mutex_trylock.c
+@@ -260,7 +260,8 @@ __pthread_mutex_trylock (mutex)
+ private), 0, 0);
+
+ if (INTERNAL_SYSCALL_ERROR_P (e, __err)
+- && INTERNAL_SYSCALL_ERRNO (e, __err) == EWOULDBLOCK)
++ && ((INTERNAL_SYSCALL_ERRNO (e, __err) == EWOULDBLOCK)
++ || (INTERNAL_SYSCALL_ERRNO (e, __err) == EAGAIN)))
+ {
+ THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending,
NULL);
+
+diff --git a/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
b/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
+index 7dfe51d..f96f625 100644
+--- a/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
++++ b/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
+@@ -94,7 +94,7 @@ sem_timedwait (sem_t *sem, const struct timespec *abstime)
+ rt.tv_sec = sec;
+ rt.tv_nsec = nsec;
+ err = do_futex_timed_wait(isem, &rt);
+- if (err != 0 && err != -EWOULDBLOCK)
++ if (err != 0 && err != -EWOULDBLOCK && err != -EAGAIN)
+ {
+ __set_errno (-err);
+ err = -1;
+diff --git a/nptl/sysdeps/unix/sysv/linux/sem_wait.c
b/nptl/sysdeps/unix/sysv/linux/sem_wait.c
+index 7d586cf..6f2a89f 100644
+--- a/nptl/sysdeps/unix/sysv/linux/sem_wait.c
++++ b/nptl/sysdeps/unix/sysv/linux/sem_wait.c
+@@ -67,7 +67,7 @@ __new_sem_wait (sem_t *sem)
+ while (1)
+ {
+ err = do_futex_wait(isem);
+- if (err != 0 && err != -EWOULDBLOCK)
++ if (err != 0 && err != -EWOULDBLOCK && err != -EAGAIN)
+ {
+ __set_errno (-err);
+ err = -1;
+@@ -112,7 +112,7 @@ __old_sem_wait (sem_t *sem)
+ /* Disable asynchronous cancellation. */
+ __pthread_disable_asynccancel (oldtype);
+ }
+- while (err == 0 || err == -EWOULDBLOCK);
++ while (err == 0 || err == -EWOULDBLOCK || err == -EAGAIN);
+
+ __set_errno (-err);
+ return -1;
+--
+1.8.5.4
+
diff --git a/libs/glibc/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
b/libs/glibc/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
new file mode 100644
index 0000000..4f4806f
--- /dev/null
+++ b/libs/glibc/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
@@ -0,0 +1,68 @@
+From b76e856d84e14d5ece6988fee589aff26d6ac2f2 Mon Sep 17 00:00:00 2001
+From: David Lamparter <equinox-gentoo AT diac24.net>
+Date: Fri, 16 Aug 2013 15:06:34 -0400
+Subject: [PATCH 11/11] arm: fix PIC vs SHARED typos
+
+the logic in setjmp/__longjmp incorrectly tie to "PIC" to figure out
+whether the code is going into a shared library when it should be using
+"SHARED". otherwise, building static PIC code goes wrong.
+
+https://bugs.gentoo.org/336914
+http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
+
+2011-09-19 David Lamparter <equinox-gentoo AT diac24.net>
+
+ * sysdeps/arm/eabi/setjmp.S: Change PIC to SHARED.
+ * sysdeps/arm/eabi/__longjmp.S: Likewise
+---
+ ports/sysdeps/arm/__longjmp.S | 4 ++--
+ ports/sysdeps/arm/setjmp.S | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/ports/sysdeps/arm/__longjmp.S b/ports/sysdeps/arm/__longjmp.S
+index 27c57a1..c2efe12 100644
+--- a/ports/sysdeps/arm/__longjmp.S
++++ b/ports/sysdeps/arm/__longjmp.S
+@@ -73,7 +73,7 @@ ENTRY (__longjmp)
+ add a2, a2, a3
+ ldr a2, [a2, #RTLD_GLOBAL_RO_DL_HWCAP_OFFSET]
+ # else
+-# ifdef PIC
++# ifdef SHARED
+ ldr a2, 1f
+ ldr a3, .Lrtld_global_ro
+ 0: add a2, pc, a2
+@@ -126,7 +126,7 @@ ENTRY (__longjmp)
+ .Lrtld_local_ro:
+ .long C_SYMBOL_NAME(_rtld_local_ro)(GOTOFF)
+ # else
+-# ifdef PIC
++# ifdef SHARED
+ 1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
+ .Lrtld_global_ro:
+ .long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
+diff --git a/ports/sysdeps/arm/setjmp.S b/ports/sysdeps/arm/setjmp.S
+index b0b45ed..54e5de4 100644
+--- a/ports/sysdeps/arm/setjmp.S
++++ b/ports/sysdeps/arm/setjmp.S
+@@ -54,7 +54,7 @@ ENTRY (__sigsetjmp)
+ add a3, a3, a4
+ ldr a3, [a3, #RTLD_GLOBAL_RO_DL_HWCAP_OFFSET]
+ # else
+-# ifdef PIC
++# ifdef SHARED
+ ldr a3, 1f
+ ldr a4, .Lrtld_global_ro
+ 0: add a3, pc, a3
+@@ -110,7 +110,7 @@ ENTRY (__sigsetjmp)
+ .Lrtld_local_ro:
+ .long C_SYMBOL_NAME(_rtld_local_ro)(GOTOFF)
+ # else
+-# ifdef PIC
++# ifdef SHARED
+ 1: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS
+ .Lrtld_global_ro:
+ .long C_SYMBOL_NAME(_rtld_global_ro)(GOT)
+--
+1.8.5.4
+
diff --git a/libs/glibc/HISTORY b/libs/glibc/HISTORY
index 9aef7a5..eecb51c 100644
--- a/libs/glibc/HISTORY
+++ b/libs/glibc/HISTORY
@@ -1,3 +1,12 @@
+2014-05-25 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * PRE_BUILD, glibc-2.19-fix-sign-in-bsloww1-input.patch,
+ glibc-2.19-xattr_header.patch: add bug fixes from arch linux
+ * PRE_BUILD,
+ 00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch,
+ 00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch,
+ 00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch,
+ 00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch: add bug fixes from
gentoo
+
2014-05-24 Pol Vinogradov <vin.public AT gmail.com>
* DETAILS: version 2.19, .bz2 -> .xz
* PRE_BUILD, as-test-x.patch, glibc-2.17-sync-with-linux37.patch:
removed obsolete patches
diff --git a/libs/glibc/PRE_BUILD b/libs/glibc/PRE_BUILD
index 4dd456a..96ab47f 100755
--- a/libs/glibc/PRE_BUILD
+++ b/libs/glibc/PRE_BUILD
@@ -88,6 +88,8 @@ fi &&
sed -i '/^header-y += drm\//d' $GLIBC_HEADERS_DIR/include/Kbuild &&
rm -rf $GLIBC_HEADERS_DIR/include/drm &&
+
+
#
# Now fixup the normal glibc
#
@@ -96,6 +98,14 @@ patch -p0 < $SPELL_DIRECTORY/Makefile.patch &&
# no idea why or how this is missing from configure
patch -p0 < $SPELL_DIRECTORY/as_fn_executable_p.patch &&
+patch -p1 < $SPELL_DIRECTORY/glibc-2.19-fix-sign-in-bsloww1-input.patch &&
+patch -p1 < $SPELL_DIRECTORY/glibc-2.19-xattr_header.patch &&
+
+patch -p1 <
$SPELL_DIRECTORY/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch
&&
+patch -p1 <
$SPELL_DIRECTORY/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch
&&
+patch -p1 <
$SPELL_DIRECTORY/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
&&
+patch -p1 < $SPELL_DIRECTORY/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
&&
+
# disabled libgd detection/building memusagestat for now until a better
# fix has been found, bug #8277
#sedit 's/LIBGD=yes/LIBGD=no/' $SOURCE_DIRECTORY/configure &&
diff --git a/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
b/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
new file mode 100644
index 0000000..91b0c9a
--- /dev/null
+++ b/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
@@ -0,0 +1,71 @@
+From ffe768a90912f9bce43b70a82576b3dc99e3121c Mon Sep 17 00:00:00 2001
+From: Siddhesh Poyarekar <siddhesh AT redhat.com>
+Date: Thu, 27 Feb 2014 21:29:16 +0530
+Subject: [PATCH] Fix sign of input to bsloww1 (BZ #16623)
+
+In 84ba214c, I removed some redundant sign computations and in the
+process, I incorrectly got rid of a temporary variable, thus passing
+the absolute value of the input to bsloww1. This caused #16623.
+
+This fix undoes the incorrect change.
+---
+ sysdeps/ieee754/dbl-64/s_sin.c | 16 ++++++++++------
+ 3 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
+index 6105e9f..50109b8 100644
+--- a/sysdeps/ieee754/dbl-64/s_sin.c
++++ b/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)
+--
+1.9.0
+
diff --git a/libs/glibc/glibc-2.19-xattr_header.patch
b/libs/glibc/glibc-2.19-xattr_header.patch
new file mode 100644
index 0000000..438626e
--- /dev/null
+++ b/libs/glibc/glibc-2.19-xattr_header.patch
@@ -0,0 +1,42 @@
+From: Serge Hallyn <serge.hallyn AT ubuntu.com>
+Date: Tue, 11 Mar 2014 04:17:07 +0000 (-0500)
+Subject: misc/sys/xattr.h: guard against linux uapi header inclusion
+X-Git-Url:
https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=fdbe8eae;hp=fede7a5ffa188c22c3789135bd5cf82e487dd3d0
+
+misc/sys/xattr.h: guard against linux uapi header inclusion
+
+If the glibc xattr.h header is included after the uapi header,
+compilation fails due to an enum re-using a #define from the
+uapi header. Protect against this by guarding the define and
+enum inclusions against each other.
+
+(A corresponding kernel patch has been sent here:
+http://lkml.org/lkml/2014/3/7/331 )
+
+(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html
+and https://sourceware.org/glibc/wiki/Synchronizing_Headers
+for more information.)
+
+Signed-off-by: Serge Hallyn <serge.hallyn AT ubuntu.com>
+---
+
+diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
+index 929cd87..796df90 100644
+--- a/misc/sys/xattr.h
++++ b/misc/sys/xattr.h
+@@ -26,6 +26,7 @@ __BEGIN_DECLS
+
+ /* The following constants should be used for the fifth parameter of
+ `*setxattr'. */
++#ifndef __USE_KERNEL_XATTR_DEFS
+ enum
+ {
+ XATTR_CREATE = 1, /* set value, fail if attr already exists. */
+@@ -33,6 +34,7 @@ enum
+ XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */
+ #define XATTR_REPLACE XATTR_REPLACE
+ };
++#endif
+
+ /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
+ is SIZE bytes long). Return 0 on success, -1 for errors. */
- [SM-Commit] GIT changes to master grimoire by Florian Franzmann (f8dff64b8f8bd81ee7ee4dea90773cdbb6a384c9), Florian Franzmann, 05/25/2014
Archive powered by MHonArc 2.6.24.