sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Pol Vinogradov (5f905a215ea8f4130c8cbcec30c2defbe4043f7c)
- From: Pol Vinogradov <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Pol Vinogradov (5f905a215ea8f4130c8cbcec30c2defbe4043f7c)
- Date: Wed, 10 Dec 2014 17:33:48 -0600
GIT changes to master grimoire by Pol Vinogradov <vin.public AT gmail.com>:
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/BUILD |
3
libs/glibc/DETAILS |
5
libs/glibc/HISTORY |
9 +
libs/glibc/PRE_BUILD |
8 -
libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch |
71 ---------
libs/glibc/glibc-2.19-xattr_header.patch |
42 -----
libs/glibc/glibc-2.20-fhs-1.patch |
72 ++++++++++
9 files changed, 86 insertions(+), 256 deletions(-)
New commits:
commit 5f905a215ea8f4130c8cbcec30c2defbe4043f7c
Author: Pol Vinogradov <vin.public AT gmail.com>
Commit: Pol Vinogradov <vin.public AT gmail.com>
libs/glibc: version 2.20, SECURITY_PATCH++
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
deleted file mode 100644
index 7ad04dc..0000000
---
a/libs/glibc/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-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
deleted file mode 100644
index 4f4806f..0000000
--- a/libs/glibc/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-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/BUILD b/libs/glibc/BUILD
index 4f323e5..9702c59 100755
--- a/libs/glibc/BUILD
+++ b/libs/glibc/BUILD
@@ -20,7 +20,6 @@ export CCACHE_RECACHE=true &&
local ADDONS
if [ "$GLIBC_NPTL" = "y" ]; then
- ADDONS="nptl" &&
#
# Enable IDN?
#
@@ -41,7 +40,7 @@ OPTS="$OPTS --enable-add-ons=${ADDONS/ /,}" &&
if [ "$GLIBC_NPTL" = "y" ]
then
# minimise optimisation level
- CFLAGS="${CFLAGS//-O?/}" &&
+ CFLAGS=$(echo ${CFLAGS} | sed -r "s;-O([0-9]|fast);;g") &&
CFLAGS="-O2 ${CFLAGS//-Os/}"
else
#
diff --git a/libs/glibc/DETAILS b/libs/glibc/DETAILS
index ddda20e..395e54e 100755
--- a/libs/glibc/DETAILS
+++ b/libs/glibc/DETAILS
@@ -29,7 +29,7 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-git
SOURCE_URL="git://sourceware.org/git/glibc.git:$SPELL-git"
SOURCE_IGNORE=volatile
else
- VERSION=2.19
+ VERSION=2.20
SOURCE=$SPELL-$VERSION.tar.xz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE2=$SOURCE.sig
@@ -37,8 +37,7 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE2_URL[0]=${SOURCE_URL[0]}.sig
SOURCE_GPG=glibc.gpg:$SOURCE.sig:UPSTREAM_KEY
SOURCE2_IGNORE=signature
- SECURITY_PATCH=1
- PATCHLEVEL=1
+ SECURITY_PATCH=2
fi
if [[ $GLIBC_SANITIZE_HEADERS == n ]]; then
HEADERS_VERSION=3.17.4
diff --git a/libs/glibc/HISTORY b/libs/glibc/HISTORY
index 74bb8a8..d58191d 100644
--- a/libs/glibc/HISTORY
+++ b/libs/glibc/HISTORY
@@ -1,3 +1,12 @@
+2014-12-10 Pol Vinogradov <vin.public AT gmail.com>
+ * DETAILS: version 2.20, SECURITY_PATCH++ (CVE-2014-4043)
+ * BUILD: NPTL is no longer an addon, disable -Ofast too in CFLAGS
+ * PRE_BUILD: removed obsolete patches, added glibc-2.20-fhs-1.patch,
cleanup formatting
+ * glibc-2.20-fhs-1.patch: added a LFS patch, fixes nscd's cache
directory
+ * glibc-2.19-fix-sign-in-bsloww1-input.patch,
glibc-2.19-xattr_header.patch,
+ 00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch,
+ 00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch: removed
+
2014-12-03 Eric Sandall <sandalle AT sourcemage.org>
* DETAILS: Updated kernel headers to 3.17.4
The prior 2.6.38 headers are getting too old (e.g. libcap requires
newer,
diff --git a/libs/glibc/PRE_BUILD b/libs/glibc/PRE_BUILD
index e4df450..da03e83 100755
--- a/libs/glibc/PRE_BUILD
+++ b/libs/glibc/PRE_BUILD
@@ -37,7 +37,7 @@ if [ "$GLIBC_NPTL" = "y" ]; then
xz -d -k ${SOURCE_CACHE}/$SOURCE7 &&
SOURCE7_ORI=${SOURCE7}
SOURCE7=${SOURCE7/.xz}
- echo $SOURCE7_GPG
+ echo $SOURCE7_GPG
verify_file 7 || return 1
message "${MESSAGE_COLOR}rm $SOURCE_CACHE/$SOURCE7${DEFAULT_COLOR}"
rm $SOURCE_CACHE/$SOURCE7
@@ -90,13 +90,9 @@ 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
&&
+patch -p1 < $SPELL_DIRECTORY/glibc-2.20-fhs-1.patch
&&
# disabled libgd detection/building memusagestat for now until a better
# fix has been found, bug #8277
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
deleted file mode 100644
index 91b0c9a..0000000
--- a/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-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
deleted file mode 100644
index 438626e..0000000
--- a/libs/glibc/glibc-2.19-xattr_header.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-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. */
diff --git a/libs/glibc/glibc-2.20-fhs-1.patch
b/libs/glibc/glibc-2.20-fhs-1.patch
new file mode 100644
index 0000000..4ac8d10
--- /dev/null
+++ b/libs/glibc/glibc-2.20-fhs-1.patch
@@ -0,0 +1,72 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-02-11
+Initial Package Version: 2.17
+Upstream Status: Not Applicable
+Origin: Self
+Description: This patch removes references to /var/db directory
which is not part
+ of FHS and replaces them with more suitable
directories in /var
+ hierarchy - /var/cache/nscd for nscd and
/var/lib/nss_db for nss_db.
+
+--- a/Makeconfig 2012-12-25 04:02:13.000000000 +0100
++++ b/Makeconfig 2013-02-11 01:32:32.500667439 +0100
+@@ -250,7 +250,7 @@
+
+ # Directory for the database files and Makefile for nss_db.
+ ifndef vardbdir
+-vardbdir = $(localstatedir)/db
++vardbdir = $(localstatedir)/lib/nss_db
+ endif
+ inst_vardbdir = $(install_root)$(vardbdir)
+
+--- a/nscd/nscd.h 2012-12-25 04:02:13.000000000 +0100
++++ b/nscd/nscd.h 2013-02-11 01:32:32.500667439 +0100
+@@ -112,11 +112,11 @@
+
+
+ /* Paths of the file for the persistent storage. */
+-#define _PATH_NSCD_PASSWD_DB "/var/db/nscd/passwd"
+-#define _PATH_NSCD_GROUP_DB "/var/db/nscd/group"
+-#define _PATH_NSCD_HOSTS_DB "/var/db/nscd/hosts"
+-#define _PATH_NSCD_SERVICES_DB "/var/db/nscd/services"
+-#define _PATH_NSCD_NETGROUP_DB "/var/db/nscd/netgroup"
++#define _PATH_NSCD_PASSWD_DB "/var/cache/nscd/passwd"
++#define _PATH_NSCD_GROUP_DB "/var/cache/nscd/group"
++#define _PATH_NSCD_HOSTS_DB "/var/cache/nscd/hosts"
++#define _PATH_NSCD_SERVICES_DB "/var/cache/nscd/services"
++#define _PATH_NSCD_NETGROUP_DB "/var/cache/nscd/netgroup"
+
+ /* Path used when not using persistent storage. */
+ #define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX"
+--- a/nss/db-Makefile 2012-12-25 04:02:13.000000000 +0100
++++ b/nss/db-Makefile 2013-02-11 01:32:32.500667439 +0100
+@@ -22,7 +22,7 @@
+ /etc/rpc /etc/services /etc/shadow /etc/gshadow \
+ /etc/netgroup)
+
+-VAR_DB = /var/db
++VAR_DB = /var/lib/nss_db
+
+ AWK = awk
+ MAKEDB = makedb --quiet
+--- a/sysdeps/generic/paths.h 2012-12-25 04:02:13.000000000 +0100
++++ b/sysdeps/generic/paths.h 2013-02-11 01:32:32.500667439 +0100
+@@ -68,7 +68,7 @@
+ /* Provide trailing slash, since mostly used for building pathnames. */
+ #define _PATH_DEV "/dev/"
+ #define _PATH_TMP "/tmp/"
+-#define _PATH_VARDB "/var/db/"
++#define _PATH_VARDB "/var/lib/nss_db/"
+ #define _PATH_VARRUN "/var/run/"
+ #define _PATH_VARTMP "/var/tmp/"
+
+--- a/sysdeps/unix/sysv/linux/paths.h 2012-12-25 04:02:13.000000000 +0100
++++ b/sysdeps/unix/sysv/linux/paths.h 2013-02-11 01:32:32.504000831 +0100
+@@ -68,7 +68,7 @@
+ /* Provide trailing slash, since mostly used for building pathnames. */
+ #define _PATH_DEV "/dev/"
+ #define _PATH_TMP "/tmp/"
+-#define _PATH_VARDB "/var/db/"
++#define _PATH_VARDB "/var/lib/nss_db/"
+ #define _PATH_VARRUN "/var/run/"
+ #define _PATH_VARTMP "/var/tmp/"
+
- [SM-Commit] GIT changes to master grimoire by Pol Vinogradov (5f905a215ea8f4130c8cbcec30c2defbe4043f7c), Pol Vinogradov, 12/10/2014
Archive powered by MHonArc 2.6.24.