glibc: update for 8 new upstream fixes.
Patches created by git format-patch -k -p glibc-2.25..origin/release/2.25/master
This commit is contained in:
parent
3a7ad332f9
commit
57c0281eb0
|
@ -1,7 +1,7 @@
|
||||||
From 58520986c38e34db60e07260c64c563e3efcf353 Mon Sep 17 00:00:00 2001
|
From 58520986c38e34db60e07260c64c563e3efcf353 Mon Sep 17 00:00:00 2001
|
||||||
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
Date: Thu, 9 Feb 2017 17:28:54 +0100
|
Date: Thu, 9 Feb 2017 17:28:54 +0100
|
||||||
Subject: [PATCH 01] Fix getting tunable values on big-endian (BZ #21109)
|
Subject: Fix getting tunable values on big-endian (BZ #21109)
|
||||||
|
|
||||||
The code to set value passed a tunable_val_t, which when cast to
|
The code to set value passed a tunable_val_t, which when cast to
|
||||||
int32_t on big-endian gives the wrong value. Instead, use
|
int32_t on big-endian gives the wrong value. Instead, use
|
||||||
|
@ -9,16 +9,9 @@ tunable_val_t.numval instead, which can then be safely cast into
|
||||||
int32_t.
|
int32_t.
|
||||||
|
|
||||||
(cherry picked from commit 8cbc826c37c0221ada65a7a622fe079b4e89a4b0)
|
(cherry picked from commit 8cbc826c37c0221ada65a7a622fe079b4e89a4b0)
|
||||||
---
|
|
||||||
ChangeLog | 10 ++++++++++
|
|
||||||
NEWS | 6 ++++++
|
|
||||||
elf/dl-tunable-types.h | 4 ++--
|
|
||||||
elf/dl-tunables.c | 2 ++
|
|
||||||
malloc/arena.c | 8 ++++----
|
|
||||||
5 files changed, 24 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index f140ee6..c88238e 100644
|
index f140ee67de..c88238e0fa 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,13 @@
|
@@ -1,3 +1,13 @@
|
||||||
|
@ -36,7 +29,7 @@ index f140ee6..c88238e 100644
|
||||||
|
|
||||||
* version.h (RELEASE): Set to "stable"
|
* version.h (RELEASE): Set to "stable"
|
||||||
diff --git a/NEWS b/NEWS
|
diff --git a/NEWS b/NEWS
|
||||||
index ec15dde..325cac7 100644
|
index ec15dde761..325cac78e4 100644
|
||||||
--- a/NEWS
|
--- a/NEWS
|
||||||
+++ b/NEWS
|
+++ b/NEWS
|
||||||
@@ -5,6 +5,12 @@ See the end for copying conditions.
|
@@ -5,6 +5,12 @@ See the end for copying conditions.
|
||||||
|
@ -53,7 +46,7 @@ index ec15dde..325cac7 100644
|
||||||
|
|
||||||
* The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR
|
* The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR
|
||||||
diff --git a/elf/dl-tunable-types.h b/elf/dl-tunable-types.h
|
diff --git a/elf/dl-tunable-types.h b/elf/dl-tunable-types.h
|
||||||
index a986f0b..37a4e80 100644
|
index a986f0b593..37a4e8021f 100644
|
||||||
--- a/elf/dl-tunable-types.h
|
--- a/elf/dl-tunable-types.h
|
||||||
+++ b/elf/dl-tunable-types.h
|
+++ b/elf/dl-tunable-types.h
|
||||||
@@ -21,8 +21,6 @@
|
@@ -21,8 +21,6 @@
|
||||||
|
@ -75,7 +68,7 @@ index a986f0b..37a4e80 100644
|
||||||
tunables for AT_SECURE binaries. */
|
tunables for AT_SECURE binaries. */
|
||||||
typedef enum
|
typedef enum
|
||||||
diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
|
diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
|
||||||
index a8d53d6..e42aa67 100644
|
index a8d53d6a31..e42aa67003 100644
|
||||||
--- a/elf/dl-tunables.c
|
--- a/elf/dl-tunables.c
|
||||||
+++ b/elf/dl-tunables.c
|
+++ b/elf/dl-tunables.c
|
||||||
@@ -455,6 +455,8 @@ __tunable_set_val (tunable_id_t id, void *valp, tunable_callback_t callback)
|
@@ -455,6 +455,8 @@ __tunable_set_val (tunable_id_t id, void *valp, tunable_callback_t callback)
|
||||||
|
@ -88,7 +81,7 @@ index a8d53d6..e42aa67 100644
|
||||||
goto cb;
|
goto cb;
|
||||||
|
|
||||||
diff --git a/malloc/arena.c b/malloc/arena.c
|
diff --git a/malloc/arena.c b/malloc/arena.c
|
||||||
index b91d7d6..d49e4a2 100644
|
index b91d7d6b16..d49e4a21c8 100644
|
||||||
--- a/malloc/arena.c
|
--- a/malloc/arena.c
|
||||||
+++ b/malloc/arena.c
|
+++ b/malloc/arena.c
|
||||||
@@ -212,9 +212,9 @@ __malloc_fork_unlock_child (void)
|
@@ -212,9 +212,9 @@ __malloc_fork_unlock_child (void)
|
||||||
|
@ -116,6 +109,5 @@ index b91d7d6..d49e4a2 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
From 045e368799cd253ddbf8bdec42ed92e8ebb3ce67 Mon Sep 17 00:00:00 2001
|
From 045e368799cd253ddbf8bdec42ed92e8ebb3ce67 Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Weimer <fweimer@redhat.com>
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
Date: Tue, 28 Feb 2017 17:05:46 +0100
|
Date: Tue, 28 Feb 2017 17:05:46 +0100
|
||||||
Subject: [PATCH 02] sunrpc: Avoid use-after-free read access in
|
Subject: sunrpc: Avoid use-after-free read access in clntudp_call [BZ #21115]
|
||||||
clntudp_call [BZ #21115]
|
|
||||||
|
|
||||||
After commit bc779a1a5b3035133024b21e2f339fe4219fb11c
|
After commit bc779a1a5b3035133024b21e2f339fe4219fb11c
|
||||||
(CVE-2016-4429: sunrpc: Do not use alloca in clntudp_call
|
(CVE-2016-4429: sunrpc: Do not use alloca in clntudp_call
|
||||||
|
@ -14,17 +13,9 @@ to observe the invalid access. A malloc implementation which
|
||||||
immediately calls munmap on free would catch this bug as well.
|
immediately calls munmap on free would catch this bug as well.
|
||||||
|
|
||||||
(cherry picked from commit d42eed4a044e5e10dfb885cf9891c2518a72a491)
|
(cherry picked from commit d42eed4a044e5e10dfb885cf9891c2518a72a491)
|
||||||
---
|
|
||||||
ChangeLog | 8 +++++++
|
|
||||||
NEWS | 1 +
|
|
||||||
sunrpc/Makefile | 3 ++-
|
|
||||||
sunrpc/clnt_udp.c | 2 +-
|
|
||||||
sunrpc/tst-udp-error.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
5 files changed, 74 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 sunrpc/tst-udp-error.c
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index c88238e..3d781a3 100644
|
index c88238e0fa..3d781a354a 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,11 @@
|
@@ -1,3 +1,11 @@
|
||||||
|
@ -40,7 +31,7 @@ index c88238e..3d781a3 100644
|
||||||
|
|
||||||
[BZ #21109]
|
[BZ #21109]
|
||||||
diff --git a/NEWS b/NEWS
|
diff --git a/NEWS b/NEWS
|
||||||
index 325cac7..5ecc565 100644
|
index 325cac78e4..5ecc565371 100644
|
||||||
--- a/NEWS
|
--- a/NEWS
|
||||||
+++ b/NEWS
|
+++ b/NEWS
|
||||||
@@ -10,6 +10,7 @@ Version 2.25.1
|
@@ -10,6 +10,7 @@ Version 2.25.1
|
||||||
|
@ -52,7 +43,7 @@ index 325cac7..5ecc565 100644
|
||||||
Version 2.25
|
Version 2.25
|
||||||
|
|
||||||
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
|
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
|
||||||
index 0c1e612..daf8a28 100644
|
index 0c1e6124ff..daf8a28f1a 100644
|
||||||
--- a/sunrpc/Makefile
|
--- a/sunrpc/Makefile
|
||||||
+++ b/sunrpc/Makefile
|
+++ b/sunrpc/Makefile
|
||||||
@@ -93,7 +93,7 @@ rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
|
@@ -93,7 +93,7 @@ rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
|
||||||
|
@ -73,7 +64,7 @@ index 0c1e612..daf8a28 100644
|
||||||
$(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs))
|
$(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs))
|
||||||
|
|
||||||
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
|
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
|
||||||
index 4d9acb1..1de25cb 100644
|
index 4d9acb1e6a..1de25cb771 100644
|
||||||
--- a/sunrpc/clnt_udp.c
|
--- a/sunrpc/clnt_udp.c
|
||||||
+++ b/sunrpc/clnt_udp.c
|
+++ b/sunrpc/clnt_udp.c
|
||||||
@@ -421,9 +421,9 @@ send_again:
|
@@ -421,9 +421,9 @@ send_again:
|
||||||
|
@ -89,7 +80,7 @@ index 4d9acb1..1de25cb 100644
|
||||||
free (cbuf);
|
free (cbuf);
|
||||||
diff --git a/sunrpc/tst-udp-error.c b/sunrpc/tst-udp-error.c
|
diff --git a/sunrpc/tst-udp-error.c b/sunrpc/tst-udp-error.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..1efc02f
|
index 0000000000..1efc02f5c6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/sunrpc/tst-udp-error.c
|
+++ b/sunrpc/tst-udp-error.c
|
||||||
@@ -0,0 +1,62 @@
|
@@ -0,0 +1,62 @@
|
||||||
|
@ -156,6 +147,5 @@ index 0000000..1efc02f
|
||||||
+
|
+
|
||||||
+#include <support/test-driver.c>
|
+#include <support/test-driver.c>
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,16 @@
|
||||||
From 93cf93e06ce123439e41d3d62790601c313134cb Mon Sep 17 00:00:00 2001
|
From 93cf93e06ce123439e41d3d62790601c313134cb Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Weimer <fweimer@redhat.com>
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
Date: Tue, 28 Feb 2017 17:36:00 +0100
|
Date: Tue, 28 Feb 2017 17:36:00 +0100
|
||||||
Subject: [PATCH 03] sunrpc: Improvements for UDP client timeout handling
|
Subject: sunrpc: Improvements for UDP client timeout handling [BZ #20257]
|
||||||
[BZ #20257]
|
|
||||||
|
|
||||||
This commit fixes various aspects in the UDP client timeout handling.
|
This commit fixes various aspects in the UDP client timeout handling.
|
||||||
Timeouts are now applied in a more consistent fashion. Discarded UDP
|
Timeouts are now applied in a more consistent fashion. Discarded UDP
|
||||||
packets no longer prevent the timeout from happening at all.
|
packets no longer prevent the timeout from happening at all.
|
||||||
|
|
||||||
(cherry picked from commit cf0bd2f73bd65beab613865bba567d7787836888)
|
(cherry picked from commit cf0bd2f73bd65beab613865bba567d7787836888)
|
||||||
---
|
|
||||||
ChangeLog | 23 +++
|
|
||||||
NEWS | 1 +
|
|
||||||
inet/Makefile | 8 +-
|
|
||||||
inet/deadline.c | 122 +++++++++++++
|
|
||||||
inet/net-internal.h | 89 ++++++++++
|
|
||||||
inet/tst-deadline.c | 188 ++++++++++++++++++++
|
|
||||||
sunrpc/Makefile | 10 +-
|
|
||||||
sunrpc/clnt_udp.c | 127 ++++++++------
|
|
||||||
sunrpc/tst-udp-garbage.c | 104 +++++++++++
|
|
||||||
sunrpc/tst-udp-nonblocking.c | 333 +++++++++++++++++++++++++++++++++++
|
|
||||||
sunrpc/tst-udp-timeout.c | 402 +++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
11 files changed, 1348 insertions(+), 59 deletions(-)
|
|
||||||
create mode 100644 inet/deadline.c
|
|
||||||
create mode 100644 inet/tst-deadline.c
|
|
||||||
create mode 100644 sunrpc/tst-udp-garbage.c
|
|
||||||
create mode 100644 sunrpc/tst-udp-nonblocking.c
|
|
||||||
create mode 100644 sunrpc/tst-udp-timeout.c
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 3d781a3..510ca42 100644
|
index 3d781a354a..510ca42c2b 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,26 @@
|
@@ -1,3 +1,26 @@
|
||||||
|
@ -60,7 +41,7 @@ index 3d781a3..510ca42 100644
|
||||||
|
|
||||||
[BZ #21115]
|
[BZ #21115]
|
||||||
diff --git a/NEWS b/NEWS
|
diff --git a/NEWS b/NEWS
|
||||||
index 5ecc565..e7d6668 100644
|
index 5ecc565371..e7d6668664 100644
|
||||||
--- a/NEWS
|
--- a/NEWS
|
||||||
+++ b/NEWS
|
+++ b/NEWS
|
||||||
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
|
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
|
||||||
|
@ -72,7 +53,7 @@ index 5ecc565..e7d6668 100644
|
||||||
Version 2.25
|
Version 2.25
|
||||||
|
|
||||||
diff --git a/inet/Makefile b/inet/Makefile
|
diff --git a/inet/Makefile b/inet/Makefile
|
||||||
index 010792a..6a7d3e0 100644
|
index 010792af8f..6a7d3e0664 100644
|
||||||
--- a/inet/Makefile
|
--- a/inet/Makefile
|
||||||
+++ b/inet/Makefile
|
+++ b/inet/Makefile
|
||||||
@@ -45,14 +45,18 @@ routines := htonl htons \
|
@@ -45,14 +45,18 @@ routines := htonl htons \
|
||||||
|
@ -98,7 +79,7 @@ index 010792a..6a7d3e0 100644
|
||||||
|
|
||||||
diff --git a/inet/deadline.c b/inet/deadline.c
|
diff --git a/inet/deadline.c b/inet/deadline.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c1fa415
|
index 0000000000..c1fa415a39
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/inet/deadline.c
|
+++ b/inet/deadline.c
|
||||||
@@ -0,0 +1,122 @@
|
@@ -0,0 +1,122 @@
|
||||||
|
@ -225,7 +206,7 @@ index 0000000..c1fa415
|
||||||
+ return msec;
|
+ return msec;
|
||||||
+}
|
+}
|
||||||
diff --git a/inet/net-internal.h b/inet/net-internal.h
|
diff --git a/inet/net-internal.h b/inet/net-internal.h
|
||||||
index 087597e..2b2632c 100644
|
index 087597ed99..2b2632c7ba 100644
|
||||||
--- a/inet/net-internal.h
|
--- a/inet/net-internal.h
|
||||||
+++ b/inet/net-internal.h
|
+++ b/inet/net-internal.h
|
||||||
@@ -20,11 +20,100 @@
|
@@ -20,11 +20,100 @@
|
||||||
|
@ -331,7 +312,7 @@ index 087597e..2b2632c 100644
|
||||||
#endif /* _NET_INTERNAL_H */
|
#endif /* _NET_INTERNAL_H */
|
||||||
diff --git a/inet/tst-deadline.c b/inet/tst-deadline.c
|
diff --git a/inet/tst-deadline.c b/inet/tst-deadline.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..ed04345
|
index 0000000000..ed04345c35
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/inet/tst-deadline.c
|
+++ b/inet/tst-deadline.c
|
||||||
@@ -0,0 +1,188 @@
|
@@ -0,0 +1,188 @@
|
||||||
|
@ -524,7 +505,7 @@ index 0000000..ed04345
|
||||||
+
|
+
|
||||||
+#include <support/test-driver.c>
|
+#include <support/test-driver.c>
|
||||||
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
|
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
|
||||||
index daf8a28..7e5d295 100644
|
index daf8a28f1a..7e5d2955a0 100644
|
||||||
--- a/sunrpc/Makefile
|
--- a/sunrpc/Makefile
|
||||||
+++ b/sunrpc/Makefile
|
+++ b/sunrpc/Makefile
|
||||||
@@ -93,11 +93,12 @@ rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
|
@@ -93,11 +93,12 @@ rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
|
||||||
|
@ -552,7 +533,7 @@ index daf8a28..7e5d295 100644
|
||||||
+$(objpfx)tst-udp-garbage: \
|
+$(objpfx)tst-udp-garbage: \
|
||||||
+ $(common-objpfx)linkobj/libc.so $(shared-thread-library)
|
+ $(common-objpfx)linkobj/libc.so $(shared-thread-library)
|
||||||
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
|
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
|
||||||
index 1de25cb..6ce16eb 100644
|
index 1de25cb771..6ce16eb298 100644
|
||||||
--- a/sunrpc/clnt_udp.c
|
--- a/sunrpc/clnt_udp.c
|
||||||
+++ b/sunrpc/clnt_udp.c
|
+++ b/sunrpc/clnt_udp.c
|
||||||
@@ -55,6 +55,7 @@
|
@@ -55,6 +55,7 @@
|
||||||
|
@ -750,7 +731,7 @@ index 1de25cb..6ce16eb 100644
|
||||||
/*
|
/*
|
||||||
diff --git a/sunrpc/tst-udp-garbage.c b/sunrpc/tst-udp-garbage.c
|
diff --git a/sunrpc/tst-udp-garbage.c b/sunrpc/tst-udp-garbage.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..4abda93
|
index 0000000000..4abda93f08
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/sunrpc/tst-udp-garbage.c
|
+++ b/sunrpc/tst-udp-garbage.c
|
||||||
@@ -0,0 +1,104 @@
|
@@ -0,0 +1,104 @@
|
||||||
|
@ -860,7 +841,7 @@ index 0000000..4abda93
|
||||||
+#include <support/test-driver.c>
|
+#include <support/test-driver.c>
|
||||||
diff --git a/sunrpc/tst-udp-nonblocking.c b/sunrpc/tst-udp-nonblocking.c
|
diff --git a/sunrpc/tst-udp-nonblocking.c b/sunrpc/tst-udp-nonblocking.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..1d6a7f4
|
index 0000000000..1d6a7f4b56
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/sunrpc/tst-udp-nonblocking.c
|
+++ b/sunrpc/tst-udp-nonblocking.c
|
||||||
@@ -0,0 +1,333 @@
|
@@ -0,0 +1,333 @@
|
||||||
|
@ -1199,7 +1180,7 @@ index 0000000..1d6a7f4
|
||||||
+#include <support/test-driver.c>
|
+#include <support/test-driver.c>
|
||||||
diff --git a/sunrpc/tst-udp-timeout.c b/sunrpc/tst-udp-timeout.c
|
diff --git a/sunrpc/tst-udp-timeout.c b/sunrpc/tst-udp-timeout.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..db9943a
|
index 0000000000..db9943a03e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/sunrpc/tst-udp-timeout.c
|
+++ b/sunrpc/tst-udp-timeout.c
|
||||||
@@ -0,0 +1,402 @@
|
@@ -0,0 +1,402 @@
|
||||||
|
@ -1606,6 +1587,5 @@ index 0000000..db9943a
|
||||||
+#define TIMEOUT 25
|
+#define TIMEOUT 25
|
||||||
+#include <support/test-driver.c>
|
+#include <support/test-driver.c>
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,12 @@
|
||||||
From 69e0a87cc4c570e3b7218392fc3e743b5bddcce2 Mon Sep 17 00:00:00 2001
|
From 69e0a87cc4c570e3b7218392fc3e743b5bddcce2 Mon Sep 17 00:00:00 2001
|
||||||
From: Florian Weimer <fweimer@redhat.com>
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
Date: Thu, 2 Mar 2017 20:11:27 +0100
|
Date: Thu, 2 Mar 2017 20:11:27 +0100
|
||||||
Subject: [PATCH 04] Document and fix --enable-bind-now [BZ #21015]
|
Subject: Document and fix --enable-bind-now [BZ #21015]
|
||||||
|
|
||||||
(cherry picked from commit 2d6ab5df3b675e96ee587ae6a8c2ce004c6b1ba9)
|
(cherry picked from commit 2d6ab5df3b675e96ee587ae6a8c2ce004c6b1ba9)
|
||||||
---
|
|
||||||
ChangeLog | 17 +++++++++++++++++
|
|
||||||
INSTALL | 6 ++++++
|
|
||||||
Makeconfig | 7 +++++++
|
|
||||||
Makerules | 9 +++------
|
|
||||||
NEWS | 1 +
|
|
||||||
iconvdata/Makefile | 5 +++++
|
|
||||||
manual/install.texi | 6 ++++++
|
|
||||||
sysdeps/unix/sysv/linux/alpha/localplt.data | 2 +-
|
|
||||||
sysdeps/unix/sysv/linux/i386/localplt.data | 2 +-
|
|
||||||
sysdeps/x86_64/localplt.data | 2 +-
|
|
||||||
10 files changed, 48 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 510ca42..8aaf9f8 100644
|
index 510ca42c2b..8aaf9f825d 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,20 @@
|
@@ -1,3 +1,20 @@
|
||||||
|
@ -43,7 +31,7 @@ index 510ca42..8aaf9f8 100644
|
||||||
|
|
||||||
[BZ #20257]
|
[BZ #20257]
|
||||||
diff --git a/INSTALL b/INSTALL
|
diff --git a/INSTALL b/INSTALL
|
||||||
index 3b3fd12..e77cb2d 100644
|
index 3b3fd121b2..e77cb2d4e2 100644
|
||||||
--- a/INSTALL
|
--- a/INSTALL
|
||||||
+++ b/INSTALL
|
+++ b/INSTALL
|
||||||
@@ -146,6 +146,12 @@ will be used, and CFLAGS sets optimization options for the compiler.
|
@@ -146,6 +146,12 @@ will be used, and CFLAGS sets optimization options for the compiler.
|
||||||
|
@ -60,7 +48,7 @@ index 3b3fd12..e77cb2d 100644
|
||||||
The file 'pt_chown' is a helper binary for 'grantpt' (*note
|
The file 'pt_chown' is a helper binary for 'grantpt' (*note
|
||||||
Pseudo-Terminals: Allocation.) that is installed setuid root to fix
|
Pseudo-Terminals: Allocation.) that is installed setuid root to fix
|
||||||
diff --git a/Makeconfig b/Makeconfig
|
diff --git a/Makeconfig b/Makeconfig
|
||||||
index 97a15b5..1c81511 100644
|
index 97a15b569e..1c815113b9 100644
|
||||||
--- a/Makeconfig
|
--- a/Makeconfig
|
||||||
+++ b/Makeconfig
|
+++ b/Makeconfig
|
||||||
@@ -386,6 +386,13 @@ LDFLAGS.so += $(hashstyle-LDFLAGS)
|
@@ -386,6 +386,13 @@ LDFLAGS.so += $(hashstyle-LDFLAGS)
|
||||||
|
@ -78,7 +66,7 @@ index 97a15b5..1c81511 100644
|
||||||
# This is invoked with $(call after-link,...), so it should operate on
|
# This is invoked with $(call after-link,...), so it should operate on
|
||||||
# the file $1. This can be set to do some sort of post-processing on
|
# the file $1. This can be set to do some sort of post-processing on
|
||||||
diff --git a/Makerules b/Makerules
|
diff --git a/Makerules b/Makerules
|
||||||
index e9194e5..7f0eef8 100644
|
index e9194e54cf..7f0eef8096 100644
|
||||||
--- a/Makerules
|
--- a/Makerules
|
||||||
+++ b/Makerules
|
+++ b/Makerules
|
||||||
@@ -588,7 +588,7 @@ $(LINK.o) -shared -static-libgcc -Wl,-O1 $(sysdep-LDFLAGS) \
|
@@ -588,7 +588,7 @@ $(LINK.o) -shared -static-libgcc -Wl,-O1 $(sysdep-LDFLAGS) \
|
||||||
|
@ -112,7 +100,7 @@ index e9194e5..7f0eef8 100644
|
||||||
| sed -n -f $< > $@.new
|
| sed -n -f $< > $@.new
|
||||||
test -s $@.new
|
test -s $@.new
|
||||||
diff --git a/NEWS b/NEWS
|
diff --git a/NEWS b/NEWS
|
||||||
index e7d6668..9bf8c10 100644
|
index e7d6668664..9bf8c10926 100644
|
||||||
--- a/NEWS
|
--- a/NEWS
|
||||||
+++ b/NEWS
|
+++ b/NEWS
|
||||||
@@ -12,6 +12,7 @@ The following bugs are resolved with this release:
|
@@ -12,6 +12,7 @@ The following bugs are resolved with this release:
|
||||||
|
@ -124,7 +112,7 @@ index e7d6668..9bf8c10 100644
|
||||||
Version 2.25
|
Version 2.25
|
||||||
|
|
||||||
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
|
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
|
||||||
index 04157b2..e484587 100644
|
index 04157b25c5..e4845871f5 100644
|
||||||
--- a/iconvdata/Makefile
|
--- a/iconvdata/Makefile
|
||||||
+++ b/iconvdata/Makefile
|
+++ b/iconvdata/Makefile
|
||||||
@@ -63,6 +63,11 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
|
@@ -63,6 +63,11 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
|
||||||
|
@ -140,7 +128,7 @@ index 04157b2..e484587 100644
|
||||||
|
|
||||||
ifeq (yes,$(build-shared))
|
ifeq (yes,$(build-shared))
|
||||||
diff --git a/manual/install.texi b/manual/install.texi
|
diff --git a/manual/install.texi b/manual/install.texi
|
||||||
index 266add8..3398cfa 100644
|
index 266add8ba9..3398cfab02 100644
|
||||||
--- a/manual/install.texi
|
--- a/manual/install.texi
|
||||||
+++ b/manual/install.texi
|
+++ b/manual/install.texi
|
||||||
@@ -175,6 +175,12 @@ options to detect stack overruns. Only the dynamic linker and a small
|
@@ -175,6 +175,12 @@ options to detect stack overruns. Only the dynamic linker and a small
|
||||||
|
@ -157,7 +145,7 @@ index 266add8..3398cfa 100644
|
||||||
@findex grantpt
|
@findex grantpt
|
||||||
@item --enable-pt_chown
|
@item --enable-pt_chown
|
||||||
diff --git a/sysdeps/unix/sysv/linux/alpha/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data
|
diff --git a/sysdeps/unix/sysv/linux/alpha/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data
|
||||||
index cca17f1..1f0e3b4 100644
|
index cca17f1e34..1f0e3b494e 100644
|
||||||
--- a/sysdeps/unix/sysv/linux/alpha/localplt.data
|
--- a/sysdeps/unix/sysv/linux/alpha/localplt.data
|
||||||
+++ b/sysdeps/unix/sysv/linux/alpha/localplt.data
|
+++ b/sysdeps/unix/sysv/linux/alpha/localplt.data
|
||||||
@@ -20,7 +20,7 @@ libc.so: free + RELA R_ALPHA_GLOB_DAT
|
@@ -20,7 +20,7 @@ libc.so: free + RELA R_ALPHA_GLOB_DAT
|
||||||
|
@ -170,7 +158,7 @@ index cca17f1..1f0e3b4 100644
|
||||||
# Ought to reorg things such that carg isn't thus forced to use a plt.
|
# Ought to reorg things such that carg isn't thus forced to use a plt.
|
||||||
libm.so: __atan2
|
libm.so: __atan2
|
||||||
diff --git a/sysdeps/unix/sysv/linux/i386/localplt.data b/sysdeps/unix/sysv/linux/i386/localplt.data
|
diff --git a/sysdeps/unix/sysv/linux/i386/localplt.data b/sysdeps/unix/sysv/linux/i386/localplt.data
|
||||||
index 2c25849..8ea4333 100644
|
index 2c2584956d..8ea4333846 100644
|
||||||
--- a/sysdeps/unix/sysv/linux/i386/localplt.data
|
--- a/sysdeps/unix/sysv/linux/i386/localplt.data
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/localplt.data
|
+++ b/sysdeps/unix/sysv/linux/i386/localplt.data
|
||||||
@@ -6,7 +6,7 @@ libc.so: free + REL R_386_GLOB_DAT
|
@@ -6,7 +6,7 @@ libc.so: free + REL R_386_GLOB_DAT
|
||||||
|
@ -183,7 +171,7 @@ index 2c25849..8ea4333 100644
|
||||||
# allocations after the initial link (when dlopen is used).
|
# allocations after the initial link (when dlopen is used).
|
||||||
ld.so: malloc + REL R_386_GLOB_DAT
|
ld.so: malloc + REL R_386_GLOB_DAT
|
||||||
diff --git a/sysdeps/x86_64/localplt.data b/sysdeps/x86_64/localplt.data
|
diff --git a/sysdeps/x86_64/localplt.data b/sysdeps/x86_64/localplt.data
|
||||||
index 014a9f4..a1840cf 100644
|
index 014a9f4554..a1840cff31 100644
|
||||||
--- a/sysdeps/x86_64/localplt.data
|
--- a/sysdeps/x86_64/localplt.data
|
||||||
+++ b/sysdeps/x86_64/localplt.data
|
+++ b/sysdeps/x86_64/localplt.data
|
||||||
@@ -8,7 +8,7 @@ libc.so: free + RELA R_X86_64_GLOB_DAT
|
@@ -8,7 +8,7 @@ libc.so: free + RELA R_X86_64_GLOB_DAT
|
||||||
|
@ -196,6 +184,5 @@ index 014a9f4..a1840cf 100644
|
||||||
# allocations after the initial link (when dlopen is used).
|
# allocations after the initial link (when dlopen is used).
|
||||||
ld.so: malloc + RELA R_X86_64_GLOB_DAT
|
ld.so: malloc + RELA R_X86_64_GLOB_DAT
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 8b3caa41b9cb82651e72a0c87aa56719c134000e Mon Sep 17 00:00:00 2001
|
From 8b3caa41b9cb82651e72a0c87aa56719c134000e Mon Sep 17 00:00:00 2001
|
||||||
From: John David Anglin <dave.anglin@bell.net>
|
From: John David Anglin <dave.anglin@bell.net>
|
||||||
Date: Mon, 20 Feb 2017 20:31:57 -0500
|
Date: Mon, 20 Feb 2017 20:31:57 -0500
|
||||||
Subject: [PATCH 05] hppa: Fix setting of __libc_stack_end
|
Subject: hppa: Fix setting of __libc_stack_end
|
||||||
|
|
||||||
The binutils package was recently changed to fix -z relro support on hppa.
|
The binutils package was recently changed to fix -z relro support on hppa.
|
||||||
See ld/21000 for details:
|
See ld/21000 for details:
|
||||||
|
@ -16,13 +16,9 @@ A build log with the attached patch is here:
|
||||||
https://buildd.debian.org/status/fetch.php?pkg=glibc&arch=hppa&ver=2.24-9&stamp=1487639205&raw=0
|
https://buildd.debian.org/status/fetch.php?pkg=glibc&arch=hppa&ver=2.24-9&stamp=1487639205&raw=0
|
||||||
|
|
||||||
(cherry picked from commit 5d20a49aaccef5ef7adac93d5ca159f6b7ba0105)
|
(cherry picked from commit 5d20a49aaccef5ef7adac93d5ca159f6b7ba0105)
|
||||||
---
|
|
||||||
ChangeLog | 5 +++++
|
|
||||||
sysdeps/hppa/dl-machine.h | 9 ++++-----
|
|
||||||
2 files changed, 9 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 8aaf9f8..d8ed2e4 100644
|
index 8aaf9f825d..d8ed2e4d90 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,8 @@
|
@@ -1,3 +1,8 @@
|
||||||
|
@ -35,7 +31,7 @@ index 8aaf9f8..d8ed2e4 100644
|
||||||
|
|
||||||
[BZ #21015]
|
[BZ #21015]
|
||||||
diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h
|
diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h
|
||||||
index 339c7bb..787b95f 100644
|
index 339c7bb771..787b95f502 100644
|
||||||
--- a/sysdeps/hppa/dl-machine.h
|
--- a/sysdeps/hppa/dl-machine.h
|
||||||
+++ b/sysdeps/hppa/dl-machine.h
|
+++ b/sysdeps/hppa/dl-machine.h
|
||||||
@@ -302,6 +302,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
|
@@ -302,6 +302,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
|
||||||
|
@ -62,6 +58,5 @@ index 339c7bb..787b95f 100644
|
||||||
name as an extra leading argument. */ \
|
name as an extra leading argument. */ \
|
||||||
" addil LT'_dl_skip_args,%r19\n" \
|
" addil LT'_dl_skip_args,%r19\n" \
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
From 0889003c67f9c2f520a37281c4b5c3b8a9861f46 Mon Sep 17 00:00:00 2001
|
From 0889003c67f9c2f520a37281c4b5c3b8a9861f46 Mon Sep 17 00:00:00 2001
|
||||||
From: Mike Frysinger <vapier@gentoo.org>
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
Date: Sun, 12 Mar 2017 15:12:21 -0700
|
Date: Sun, 12 Mar 2017 15:12:21 -0700
|
||||||
Subject: [PATCH 06] x86_64: fix static build of __mempcpy_chk for compilers
|
Subject: x86_64: fix static build of __mempcpy_chk for compilers defaulting to
|
||||||
defaulting to PIC/PIE
|
PIC/PIE
|
||||||
|
|
||||||
When glibc is compiled with gcc 6.2 that has been configured with
|
When glibc is compiled with gcc 6.2 that has been configured with
|
||||||
to default to PIC/PIE, the static version of __mempcpy_chk is not built,
|
to default to PIC/PIE, the static version of __mempcpy_chk is not built,
|
||||||
|
@ -15,13 +15,9 @@ SHARED, like it is done for similar functions like __memcpy_chk.
|
||||||
instead of PIC.
|
instead of PIC.
|
||||||
|
|
||||||
(cherry picked from commit fbe355fbd1973d6e29561084b3eaeb4bfe9d515a)
|
(cherry picked from commit fbe355fbd1973d6e29561084b3eaeb4bfe9d515a)
|
||||||
---
|
|
||||||
ChangeLog | 5 +++++
|
|
||||||
sysdeps/x86_64/mempcpy_chk.S | 2 +-
|
|
||||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index d8ed2e4..c29a70a 100644
|
index d8ed2e4d90..c29a70aa72 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,8 @@
|
@@ -1,3 +1,8 @@
|
||||||
|
@ -34,7 +30,7 @@ index d8ed2e4..c29a70a 100644
|
||||||
|
|
||||||
* sysdeps/hppa/dl-machine.h (DL_STACK_END): Define.
|
* sysdeps/hppa/dl-machine.h (DL_STACK_END): Define.
|
||||||
diff --git a/sysdeps/x86_64/mempcpy_chk.S b/sysdeps/x86_64/mempcpy_chk.S
|
diff --git a/sysdeps/x86_64/mempcpy_chk.S b/sysdeps/x86_64/mempcpy_chk.S
|
||||||
index f8a9260..f912291 100644
|
index f8a9260e6e..f912291576 100644
|
||||||
--- a/sysdeps/x86_64/mempcpy_chk.S
|
--- a/sysdeps/x86_64/mempcpy_chk.S
|
||||||
+++ b/sysdeps/x86_64/mempcpy_chk.S
|
+++ b/sysdeps/x86_64/mempcpy_chk.S
|
||||||
@@ -19,7 +19,7 @@
|
@@ -19,7 +19,7 @@
|
||||||
|
@ -47,6 +43,5 @@ index f8a9260..f912291 100644
|
||||||
For libc.a, this is a separate source to avoid
|
For libc.a, this is a separate source to avoid
|
||||||
mempcpy bringing in __chk_fail and all routines
|
mempcpy bringing in __chk_fail and all routines
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 27ab0d9518746dfb59ed2ba59daefc981dc10e38 Mon Sep 17 00:00:00 2001
|
From 27ab0d9518746dfb59ed2ba59daefc981dc10e38 Mon Sep 17 00:00:00 2001
|
||||||
From: Mike Frysinger <vapier@gentoo.org>
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
Date: Mon, 20 Mar 2017 04:47:56 -0400
|
Date: Mon, 20 Mar 2017 04:47:56 -0400
|
||||||
Subject: [PATCH 07] posix_spawn: fix stack setup on ia64 [BZ #21275]
|
Subject: posix_spawn: fix stack setup on ia64 [BZ #21275]
|
||||||
|
|
||||||
The ia64-specific clone2 call expects the base of the stack mapping and
|
The ia64-specific clone2 call expects the base of the stack mapping and
|
||||||
the stack size as sep arguments, not an initial stack value as on other
|
the stack size as sep arguments, not an initial stack value as on other
|
||||||
|
@ -10,13 +10,9 @@ pass in the right stack base.
|
||||||
|
|
||||||
Reported-by: Matt Turner <mattst88@gentoo.org>
|
Reported-by: Matt Turner <mattst88@gentoo.org>
|
||||||
(cherry picked from commit ddc3fb333469c2997798742dc0509dc1e3201d91)
|
(cherry picked from commit ddc3fb333469c2997798742dc0509dc1e3201d91)
|
||||||
---
|
|
||||||
ChangeLog | 8 ++++++++
|
|
||||||
sysdeps/unix/sysv/linux/spawni.c | 11 ++++++-----
|
|
||||||
2 files changed, 14 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index c29a70a..ef5388c 100644
|
index c29a70aa72..ef5388c2c3 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,11 @@
|
@@ -1,3 +1,11 @@
|
||||||
|
@ -32,7 +28,7 @@ index c29a70a..ef5388c 100644
|
||||||
|
|
||||||
* sysdeps/x86_64/mempcpy_chk.S (__mempcpy_chk): Check for SHARED
|
* sysdeps/x86_64/mempcpy_chk.S (__mempcpy_chk): Check for SHARED
|
||||||
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
|
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
|
||||||
index 2daf0c5..c96aac8 100644
|
index 2daf0c5ef0..c96aac889d 100644
|
||||||
--- a/sysdeps/unix/sysv/linux/spawni.c
|
--- a/sysdeps/unix/sysv/linux/spawni.c
|
||||||
+++ b/sysdeps/unix/sysv/linux/spawni.c
|
+++ b/sysdeps/unix/sysv/linux/spawni.c
|
||||||
@@ -61,17 +61,18 @@
|
@@ -61,17 +61,18 @@
|
||||||
|
@ -60,6 +56,5 @@ index 2daf0c5..c96aac8 100644
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,15 @@
|
||||||
From f035c8d055f25eaf6c93772f308afac10ce31ef2 Mon Sep 17 00:00:00 2001
|
From f035c8d055f25eaf6c93772f308afac10ce31ef2 Mon Sep 17 00:00:00 2001
|
||||||
From: Slava Barinov <v.barinov@samsung.com>
|
From: Slava Barinov <v.barinov@samsung.com>
|
||||||
Date: Fri, 31 Mar 2017 08:49:25 +0200
|
Date: Fri, 31 Mar 2017 08:49:25 +0200
|
||||||
Subject: [PATCH 08] fts: Fix symbol redirect for fts_set [BZ #21289]
|
Subject: fts: Fix symbol redirect for fts_set [BZ #21289]
|
||||||
|
|
||||||
In a 32-bit environment with _FILE_OFFSET_BITS=64, the __REDIRECT macro
|
In a 32-bit environment with _FILE_OFFSET_BITS=64, the __REDIRECT macro
|
||||||
combined with __THROW generates an invalid C++ declaration.
|
combined with __THROW generates an invalid C++ declaration.
|
||||||
|
|
||||||
(cherry picked from commit ce39613205dc47ceaeea76710d49e7a483b503ab)
|
(cherry picked from commit ce39613205dc47ceaeea76710d49e7a483b503ab)
|
||||||
---
|
|
||||||
ChangeLog | 5 +++++
|
|
||||||
NEWS | 5 +++--
|
|
||||||
io/fts.h | 2 +-
|
|
||||||
3 files changed, 9 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index ef5388c..85d6fc6 100644
|
index ef5388c2c3..85d6fc6192 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,8 @@
|
@@ -1,3 +1,8 @@
|
||||||
|
@ -27,7 +22,7 @@ index ef5388c..85d6fc6 100644
|
||||||
|
|
||||||
[BZ #21275]
|
[BZ #21275]
|
||||||
diff --git a/NEWS b/NEWS
|
diff --git a/NEWS b/NEWS
|
||||||
index 9bf8c10..fee1cf8 100644
|
index 9bf8c10926..fee1cf8ca8 100644
|
||||||
--- a/NEWS
|
--- a/NEWS
|
||||||
+++ b/NEWS
|
+++ b/NEWS
|
||||||
@@ -9,10 +9,11 @@ Version 2.25.1
|
@@ -9,10 +9,11 @@ Version 2.25.1
|
||||||
|
@ -45,7 +40,7 @@ index 9bf8c10..fee1cf8 100644
|
||||||
Version 2.25
|
Version 2.25
|
||||||
|
|
||||||
diff --git a/io/fts.h b/io/fts.h
|
diff --git a/io/fts.h b/io/fts.h
|
||||||
index b9cff53..ab15567 100644
|
index b9cff534e9..ab15567001 100644
|
||||||
--- a/io/fts.h
|
--- a/io/fts.h
|
||||||
+++ b/io/fts.h
|
+++ b/io/fts.h
|
||||||
@@ -193,7 +193,7 @@ FTS *__REDIRECT (fts_open, (char * const *, int,
|
@@ -193,7 +193,7 @@ FTS *__REDIRECT (fts_open, (char * const *, int,
|
||||||
|
@ -58,6 +53,5 @@ index b9cff53..ab15567 100644
|
||||||
# define fts_children fts64_children
|
# define fts_children fts64_children
|
||||||
# define fts_close fts64_close
|
# define fts_close fts64_close
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
From 74522eeeaa4a39809a28f44171e71d36a69edb58 Mon Sep 17 00:00:00 2001
|
From 74522eeeaa4a39809a28f44171e71d36a69edb58 Mon Sep 17 00:00:00 2001
|
||||||
From: "Wladimir J. van der Laan" <laanwj@gmail.com>
|
From: "Wladimir J. van der Laan" <laanwj@gmail.com>
|
||||||
Date: Sat, 1 Apr 2017 12:39:09 +0530
|
Date: Sat, 1 Apr 2017 12:39:09 +0530
|
||||||
Subject: [PATCH 09] Call the right helper function when setting mallopt
|
Subject: Call the right helper function when setting mallopt M_ARENA_MAX (BZ
|
||||||
M_ARENA_MAX (BZ #21338)
|
#21338)
|
||||||
|
|
||||||
Fixes a typo introduced in commit
|
Fixes a typo introduced in commit
|
||||||
be7991c0705e35b4d70a419d117addcd6c627319. This caused
|
be7991c0705e35b4d70a419d117addcd6c627319. This caused
|
||||||
|
@ -13,13 +13,9 @@ wrong internal parameter.
|
||||||
[BZ #21338]
|
[BZ #21338]
|
||||||
* malloc/malloc.c: Call do_set_arena_max for M_ARENA_MAX
|
* malloc/malloc.c: Call do_set_arena_max for M_ARENA_MAX
|
||||||
instead of incorrect do_set_arena_test
|
instead of incorrect do_set_arena_test
|
||||||
---
|
|
||||||
ChangeLog | 6 ++++++
|
|
||||||
malloc/malloc.c | 2 +-
|
|
||||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 85d6fc6..321bf53 100644
|
index 85d6fc6192..321bf53191 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,9 @@
|
@@ -1,3 +1,9 @@
|
||||||
|
@ -33,7 +29,7 @@ index 85d6fc6..321bf53 100644
|
||||||
|
|
||||||
[BZ #21289]
|
[BZ #21289]
|
||||||
diff --git a/malloc/malloc.c b/malloc/malloc.c
|
diff --git a/malloc/malloc.c b/malloc/malloc.c
|
||||||
index 4885793..4e07663 100644
|
index 4885793905..4e076638b0 100644
|
||||||
--- a/malloc/malloc.c
|
--- a/malloc/malloc.c
|
||||||
+++ b/malloc/malloc.c
|
+++ b/malloc/malloc.c
|
||||||
@@ -4902,7 +4902,7 @@ __libc_mallopt (int param_number, int value)
|
@@ -4902,7 +4902,7 @@ __libc_mallopt (int param_number, int value)
|
||||||
|
@ -46,6 +42,5 @@ index 4885793..4e07663 100644
|
||||||
}
|
}
|
||||||
__libc_lock_unlock (av->mutex);
|
__libc_lock_unlock (av->mutex);
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
From df29db0bec24211cfc917db52024bf8deecac2c9 Mon Sep 17 00:00:00 2001
|
From df29db0bec24211cfc917db52024bf8deecac2c9 Mon Sep 17 00:00:00 2001
|
||||||
From: Mike Frysinger <vapier@gentoo.org>
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
Date: Wed, 15 Mar 2017 23:59:31 -0700
|
Date: Wed, 15 Mar 2017 23:59:31 -0700
|
||||||
Subject: [PATCH 10] posix_spawn: use a larger min stack for -fstack-check
|
Subject: posix_spawn: use a larger min stack for -fstack-check [BZ #21253]
|
||||||
[BZ #21253]
|
|
||||||
|
|
||||||
When glibc is built with -fstack-check, trying to use posix_spawn can
|
When glibc is built with -fstack-check, trying to use posix_spawn can
|
||||||
lead to segfaults due to gcc internally probing stack memory too far.
|
lead to segfaults due to gcc internally probing stack memory too far.
|
||||||
|
@ -30,13 +29,9 @@ enough to trigger the problem:
|
||||||
[1] https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gccint/Stack-Checking.html
|
[1] https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gccint/Stack-Checking.html
|
||||||
|
|
||||||
(cherry picked from commit 21f042c804835d1f7a4a8e06f2c93ca35a182042)
|
(cherry picked from commit 21f042c804835d1f7a4a8e06f2c93ca35a182042)
|
||||||
---
|
|
||||||
ChangeLog | 6 ++++++
|
|
||||||
sysdeps/unix/sysv/linux/spawni.c | 5 +++++
|
|
||||||
2 files changed, 11 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 321bf53..b37a054 100644
|
index 321bf53191..b37a054bae 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,9 @@
|
@@ -1,3 +1,9 @@
|
||||||
|
@ -50,7 +45,7 @@ index 321bf53..b37a054 100644
|
||||||
|
|
||||||
[BZ# 21338]
|
[BZ# 21338]
|
||||||
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
|
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
|
||||||
index c96aac8..29d8f25 100644
|
index c96aac889d..29d8f25ab5 100644
|
||||||
--- a/sysdeps/unix/sysv/linux/spawni.c
|
--- a/sysdeps/unix/sysv/linux/spawni.c
|
||||||
+++ b/sysdeps/unix/sysv/linux/spawni.c
|
+++ b/sysdeps/unix/sysv/linux/spawni.c
|
||||||
@@ -319,6 +319,11 @@ __spawnix (pid_t * pid, const char *file,
|
@@ -319,6 +319,11 @@ __spawnix (pid_t * pid, const char *file,
|
||||||
|
@ -66,6 +61,5 @@ index c96aac8..29d8f25 100644
|
||||||
void *stack = __mmap (NULL, stack_size, prot,
|
void *stack = __mmap (NULL, stack_size, prot,
|
||||||
MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
|
MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
From 903b77defb6f2ee2552c06472339f33091e3c7b4 Mon Sep 17 00:00:00 2001
|
From 903b77defb6f2ee2552c06472339f33091e3c7b4 Mon Sep 17 00:00:00 2001
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
Date: Tue, 21 Mar 2017 10:59:31 -0700
|
Date: Tue, 21 Mar 2017 10:59:31 -0700
|
||||||
Subject: [PATCH 11] x86-64: Improve branch predication in
|
Subject: x86-64: Improve branch predication in _dl_runtime_resolve_avx512_opt
|
||||||
_dl_runtime_resolve_avx512_opt [BZ #21258]
|
[BZ #21258]
|
||||||
|
|
||||||
On Skylake server, _dl_runtime_resolve_avx512_opt is used to preserve
|
On Skylake server, _dl_runtime_resolve_avx512_opt is used to preserve
|
||||||
the first 8 vector registers. The code layout is
|
the first 8 vector registers. The code layout is
|
||||||
|
@ -35,14 +35,9 @@ Tested on Skylake server.
|
||||||
Fallthrough to _dl_runtime_resolve_sse_vex.
|
Fallthrough to _dl_runtime_resolve_sse_vex.
|
||||||
|
|
||||||
(cherry picked from commit c15f8eb50cea7ad1a4ccece6e0982bf426d52c00)
|
(cherry picked from commit c15f8eb50cea7ad1a4ccece6e0982bf426d52c00)
|
||||||
---
|
|
||||||
ChangeLog | 9 +++++++++
|
|
||||||
sysdeps/x86_64/dl-trampoline.S | 3 +--
|
|
||||||
sysdeps/x86_64/dl-trampoline.h | 9 +++++----
|
|
||||||
3 files changed, 15 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index b37a054..8479fba 100644
|
index b37a054bae..8479fba8c4 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,12 @@
|
@@ -1,3 +1,12 @@
|
||||||
|
@ -59,7 +54,7 @@ index b37a054..8479fba 100644
|
||||||
|
|
||||||
[BZ #21253]
|
[BZ #21253]
|
||||||
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
|
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
|
||||||
index 33d7fcf..c14c61a 100644
|
index 33d7fcf7d0..c14c61aa58 100644
|
||||||
--- a/sysdeps/x86_64/dl-trampoline.S
|
--- a/sysdeps/x86_64/dl-trampoline.S
|
||||||
+++ b/sysdeps/x86_64/dl-trampoline.S
|
+++ b/sysdeps/x86_64/dl-trampoline.S
|
||||||
@@ -87,11 +87,9 @@
|
@@ -87,11 +87,9 @@
|
||||||
|
@ -81,7 +76,7 @@ index 33d7fcf..c14c61a 100644
|
||||||
+#define _dl_runtime_resolve_opt _dl_runtime_resolve_avx512_opt
|
+#define _dl_runtime_resolve_opt _dl_runtime_resolve_avx512_opt
|
||||||
#include "dl-trampoline.h"
|
#include "dl-trampoline.h"
|
||||||
diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
|
diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
|
||||||
index b27fa06..8db24c1 100644
|
index b27fa06974..8db24c16ac 100644
|
||||||
--- a/sysdeps/x86_64/dl-trampoline.h
|
--- a/sysdeps/x86_64/dl-trampoline.h
|
||||||
+++ b/sysdeps/x86_64/dl-trampoline.h
|
+++ b/sysdeps/x86_64/dl-trampoline.h
|
||||||
@@ -129,19 +129,20 @@ _dl_runtime_resolve_opt:
|
@@ -129,19 +129,20 @@ _dl_runtime_resolve_opt:
|
||||||
|
@ -110,6 +105,5 @@ index b27fa06..8db24c1 100644
|
||||||
# error Unsupported VEC_SIZE!
|
# error Unsupported VEC_SIZE!
|
||||||
# endif
|
# endif
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From b30b1c97ccfe72e82b0c95bb55274b5660bc539e Mon Sep 17 00:00:00 2001
|
From b30b1c97ccfe72e82b0c95bb55274b5660bc539e Mon Sep 17 00:00:00 2001
|
||||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
Date: Tue, 11 Apr 2017 15:08:02 -0300
|
Date: Tue, 11 Apr 2017 15:08:02 -0300
|
||||||
Subject: [PATCH 12] posix: Add cleanup on the trap list for globtest.sh
|
Subject: posix: Add cleanup on the trap list for globtest.sh
|
||||||
|
|
||||||
This patch prevents lingering files for SIGSEGV failures by adding
|
This patch prevents lingering files for SIGSEGV failures by adding
|
||||||
a cleanup handler on trap handler. Checked on x86_64-linux-gnu.
|
a cleanup handler on trap handler. Checked on x86_64-linux-gnu.
|
||||||
|
@ -9,13 +9,9 @@ a cleanup handler on trap handler. Checked on x86_64-linux-gnu.
|
||||||
* posix/globtest.sh: Add cleanup routine on trap 0.
|
* posix/globtest.sh: Add cleanup routine on trap 0.
|
||||||
|
|
||||||
Cherry-pick of 4fee33f.
|
Cherry-pick of 4fee33f.
|
||||||
---
|
|
||||||
ChangeLog | 4 ++++
|
|
||||||
posix/globtest.sh | 9 ++++++---
|
|
||||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 8479fba..4962000 100644
|
index 8479fba8c4..4962000b47 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
|
@ -27,7 +23,7 @@ index 8479fba..4962000 100644
|
||||||
|
|
||||||
[BZ #21258]
|
[BZ #21258]
|
||||||
diff --git a/posix/globtest.sh b/posix/globtest.sh
|
diff --git a/posix/globtest.sh b/posix/globtest.sh
|
||||||
index f9cc80b..73f7ae3 100755
|
index f9cc80b4b5..73f7ae31cc 100755
|
||||||
--- a/posix/globtest.sh
|
--- a/posix/globtest.sh
|
||||||
+++ b/posix/globtest.sh
|
+++ b/posix/globtest.sh
|
||||||
@@ -47,7 +47,12 @@ testout=${common_objpfx}posix/globtest-out
|
@@ -47,7 +47,12 @@ testout=${common_objpfx}posix/globtest-out
|
||||||
|
@ -54,6 +50,5 @@ index f9cc80b..73f7ae3 100755
|
||||||
fi
|
fi
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 4c6f97798fe1854a32b1199c42370eac1620eebf Mon Sep 17 00:00:00 2001
|
From 4c6f97798fe1854a32b1199c42370eac1620eebf Mon Sep 17 00:00:00 2001
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
Date: Fri, 28 Apr 2017 10:03:09 -0700
|
Date: Fri, 28 Apr 2017 10:03:09 -0700
|
||||||
Subject: [PATCH 13] x86: Set Prefer_No_VZEROUPPER if AVX512ER is available
|
Subject: x86: Set Prefer_No_VZEROUPPER if AVX512ER is available
|
||||||
|
|
||||||
AVX512ER won't be implemented in any Xeon processors and will be in
|
AVX512ER won't be implemented in any Xeon processors and will be in
|
||||||
all Xeon Phi processors. Don't check CPU model number when setting
|
all Xeon Phi processors. Don't check CPU model number when setting
|
||||||
|
@ -29,14 +29,9 @@ and non-Xeon Phi processors.
|
||||||
(reg_AVX512VL): Likewise.
|
(reg_AVX512VL): Likewise.
|
||||||
|
|
||||||
(cherry picked from commit 1c53cb49de6d82d9469ccbd5aa0c55924502bd8b)
|
(cherry picked from commit 1c53cb49de6d82d9469ccbd5aa0c55924502bd8b)
|
||||||
---
|
|
||||||
ChangeLog | 21 +++++++++++++++++++++
|
|
||||||
sysdeps/x86/cpu-features.c | 8 ++++++--
|
|
||||||
sysdeps/x86/cpu-features.h | 15 +++++++++++++++
|
|
||||||
3 files changed, 42 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index 4962000..dc49c78 100644
|
index 4962000b47..dc49c78b8c 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,24 @@
|
@@ -1,3 +1,24 @@
|
||||||
|
@ -65,7 +60,7 @@ index 4962000..dc49c78 100644
|
||||||
|
|
||||||
* posix/globtest.sh: Add cleanup routine on trap 0.
|
* posix/globtest.sh: Add cleanup routine on trap 0.
|
||||||
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
|
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
|
||||||
index 1c714a4..41d0be2 100644
|
index 1c714a4017..41d0be2815 100644
|
||||||
--- a/sysdeps/x86/cpu-features.c
|
--- a/sysdeps/x86/cpu-features.c
|
||||||
+++ b/sysdeps/x86/cpu-features.c
|
+++ b/sysdeps/x86/cpu-features.c
|
||||||
@@ -139,8 +139,6 @@ init_cpu_features (struct cpu_features *cpu_features)
|
@@ -139,8 +139,6 @@ init_cpu_features (struct cpu_features *cpu_features)
|
||||||
|
@ -91,7 +86,7 @@ index 1c714a4..41d0be2 100644
|
||||||
If XGETBV suports ECX == 1, use _dl_runtime_resolve_opt. */
|
If XGETBV suports ECX == 1, use _dl_runtime_resolve_opt. */
|
||||||
cpu_features->feature[index_arch_Use_dl_runtime_resolve_slow]
|
cpu_features->feature[index_arch_Use_dl_runtime_resolve_slow]
|
||||||
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
|
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
|
||||||
index 95f0fcf..2ee8a0a 100644
|
index 95f0fcff87..2ee8a0a350 100644
|
||||||
--- a/sysdeps/x86/cpu-features.h
|
--- a/sysdeps/x86/cpu-features.h
|
||||||
+++ b/sysdeps/x86/cpu-features.h
|
+++ b/sysdeps/x86/cpu-features.h
|
||||||
@@ -62,6 +62,11 @@
|
@@ -62,6 +62,11 @@
|
||||||
|
@ -131,6 +126,5 @@ index 95f0fcf..2ee8a0a 100644
|
||||||
# define reg_RTM ebx
|
# define reg_RTM ebx
|
||||||
# define reg_FMA ecx
|
# define reg_FMA ecx
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
From 06d79808f6faf6025c5a7d4e27d949a8216275cc Mon Sep 17 00:00:00 2001
|
From 06d79808f6faf6025c5a7d4e27d949a8216275cc Mon Sep 17 00:00:00 2001
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
Date: Fri, 28 Apr 2017 10:04:15 -0700
|
Date: Fri, 28 Apr 2017 10:04:15 -0700
|
||||||
Subject: [PATCH 14] x86: Use AVX2 memcpy/memset on Skylake server [BZ
|
Subject: x86: Use AVX2 memcpy/memset on Skylake server [BZ #21396]
|
||||||
#21396]
|
|
||||||
|
|
||||||
On Skylake server, AVX512 load/store instructions in memcpy/memset may
|
On Skylake server, AVX512 load/store instructions in memcpy/memset may
|
||||||
lead to lower CPU turbo frequency in certain situations. Use of AVX2
|
lead to lower CPU turbo frequency in certain situations. Use of AVX2
|
||||||
|
@ -33,22 +32,9 @@ used on Skylake server.
|
||||||
Likewise.
|
Likewise.
|
||||||
|
|
||||||
(cherry picked from commit 4cb334c4d6249686653137ec273d081371b3672d)
|
(cherry picked from commit 4cb334c4d6249686653137ec273d081371b3672d)
|
||||||
---
|
|
||||||
ChangeLog | 21 +++++++++++++++++++++
|
|
||||||
sysdeps/x86/cpu-features.c | 6 +++++-
|
|
||||||
sysdeps/x86/cpu-features.h | 3 +++
|
|
||||||
sysdeps/x86_64/multiarch/memcpy.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/memcpy_chk.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/memmove.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/memmove_chk.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/mempcpy.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/mempcpy_chk.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/memset.S | 2 ++
|
|
||||||
sysdeps/x86_64/multiarch/memset_chk.S | 2 ++
|
|
||||||
11 files changed, 45 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index dc49c78..adebc03 100644
|
index dc49c78b8c..adebc03b78 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,5 +1,26 @@
|
@@ -1,5 +1,26 @@
|
||||||
|
@ -79,7 +65,7 @@ index dc49c78..adebc03 100644
|
||||||
Prefer_No_VZEROUPPER if AVX512ER is available.
|
Prefer_No_VZEROUPPER if AVX512ER is available.
|
||||||
* sysdeps/x86/cpu-features.h
|
* sysdeps/x86/cpu-features.h
|
||||||
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
|
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
|
||||||
index 41d0be2..9afd74c 100644
|
index 41d0be2815..9afd74c42e 100644
|
||||||
--- a/sysdeps/x86/cpu-features.c
|
--- a/sysdeps/x86/cpu-features.c
|
||||||
+++ b/sysdeps/x86/cpu-features.c
|
+++ b/sysdeps/x86/cpu-features.c
|
||||||
@@ -225,10 +225,14 @@ init_cpu_features (struct cpu_features *cpu_features)
|
@@ -225,10 +225,14 @@ init_cpu_features (struct cpu_features *cpu_features)
|
||||||
|
@ -99,7 +85,7 @@ index 41d0be2..9afd74c 100644
|
||||||
/* To avoid SSE transition penalty, use _dl_runtime_resolve_slow.
|
/* To avoid SSE transition penalty, use _dl_runtime_resolve_slow.
|
||||||
If XGETBV suports ECX == 1, use _dl_runtime_resolve_opt. */
|
If XGETBV suports ECX == 1, use _dl_runtime_resolve_opt. */
|
||||||
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
|
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
|
||||||
index 2ee8a0a..a409db6 100644
|
index 2ee8a0a350..a409db67d8 100644
|
||||||
--- a/sysdeps/x86/cpu-features.h
|
--- a/sysdeps/x86/cpu-features.h
|
||||||
+++ b/sysdeps/x86/cpu-features.h
|
+++ b/sysdeps/x86/cpu-features.h
|
||||||
@@ -39,6 +39,7 @@
|
@@ -39,6 +39,7 @@
|
||||||
|
@ -127,7 +113,7 @@ index 2ee8a0a..a409db6 100644
|
||||||
#endif /* !__ASSEMBLER__ */
|
#endif /* !__ASSEMBLER__ */
|
||||||
|
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memcpy.S b/sysdeps/x86_64/multiarch/memcpy.S
|
diff --git a/sysdeps/x86_64/multiarch/memcpy.S b/sysdeps/x86_64/multiarch/memcpy.S
|
||||||
index 1f83ee3..af27703 100644
|
index 1f83ee3e84..af2770397c 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memcpy.S
|
--- a/sysdeps/x86_64/multiarch/memcpy.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memcpy.S
|
+++ b/sysdeps/x86_64/multiarch/memcpy.S
|
||||||
@@ -32,6 +32,8 @@ ENTRY(__new_memcpy)
|
@@ -32,6 +32,8 @@ ENTRY(__new_memcpy)
|
||||||
|
@ -140,7 +126,7 @@ index 1f83ee3..af27703 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __memcpy_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memcpy_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memcpy_chk.S b/sysdeps/x86_64/multiarch/memcpy_chk.S
|
diff --git a/sysdeps/x86_64/multiarch/memcpy_chk.S b/sysdeps/x86_64/multiarch/memcpy_chk.S
|
||||||
index 5492342..8737fb9 100644
|
index 54923420f1..8737fb9755 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memcpy_chk.S
|
--- a/sysdeps/x86_64/multiarch/memcpy_chk.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memcpy_chk.S
|
+++ b/sysdeps/x86_64/multiarch/memcpy_chk.S
|
||||||
@@ -30,6 +30,8 @@
|
@@ -30,6 +30,8 @@
|
||||||
|
@ -153,7 +139,7 @@ index 5492342..8737fb9 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __memcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memmove.S b/sysdeps/x86_64/multiarch/memmove.S
|
diff --git a/sysdeps/x86_64/multiarch/memmove.S b/sysdeps/x86_64/multiarch/memmove.S
|
||||||
index 2021bfc..8c534e8 100644
|
index 2021bfc30c..8c534e83e0 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memmove.S
|
--- a/sysdeps/x86_64/multiarch/memmove.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memmove.S
|
+++ b/sysdeps/x86_64/multiarch/memmove.S
|
||||||
@@ -30,6 +30,8 @@ ENTRY(__libc_memmove)
|
@@ -30,6 +30,8 @@ ENTRY(__libc_memmove)
|
||||||
|
@ -166,7 +152,7 @@ index 2021bfc..8c534e8 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __memmove_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memmove_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memmove_chk.S b/sysdeps/x86_64/multiarch/memmove_chk.S
|
diff --git a/sysdeps/x86_64/multiarch/memmove_chk.S b/sysdeps/x86_64/multiarch/memmove_chk.S
|
||||||
index 8a252ad..7870dd0 100644
|
index 8a252adcae..7870dd0247 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memmove_chk.S
|
--- a/sysdeps/x86_64/multiarch/memmove_chk.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memmove_chk.S
|
+++ b/sysdeps/x86_64/multiarch/memmove_chk.S
|
||||||
@@ -29,6 +29,8 @@
|
@@ -29,6 +29,8 @@
|
||||||
|
@ -179,7 +165,7 @@ index 8a252ad..7870dd0 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __memmove_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memmove_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/mempcpy.S b/sysdeps/x86_64/multiarch/mempcpy.S
|
diff --git a/sysdeps/x86_64/multiarch/mempcpy.S b/sysdeps/x86_64/multiarch/mempcpy.S
|
||||||
index 79c840d..b8b2b28 100644
|
index 79c840d075..b8b2b28094 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/mempcpy.S
|
--- a/sysdeps/x86_64/multiarch/mempcpy.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/mempcpy.S
|
+++ b/sysdeps/x86_64/multiarch/mempcpy.S
|
||||||
@@ -32,6 +32,8 @@ ENTRY(__mempcpy)
|
@@ -32,6 +32,8 @@ ENTRY(__mempcpy)
|
||||||
|
@ -192,7 +178,7 @@ index 79c840d..b8b2b28 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __mempcpy_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __mempcpy_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/mempcpy_chk.S b/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
diff --git a/sysdeps/x86_64/multiarch/mempcpy_chk.S b/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
||||||
index 6927962..072b22c 100644
|
index 6927962e81..072b22c49f 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
--- a/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
+++ b/sysdeps/x86_64/multiarch/mempcpy_chk.S
|
||||||
@@ -30,6 +30,8 @@
|
@@ -30,6 +30,8 @@
|
||||||
|
@ -205,7 +191,7 @@ index 6927962..072b22c 100644
|
||||||
jz 1f
|
jz 1f
|
||||||
lea __mempcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __mempcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memset.S b/sysdeps/x86_64/multiarch/memset.S
|
diff --git a/sysdeps/x86_64/multiarch/memset.S b/sysdeps/x86_64/multiarch/memset.S
|
||||||
index c958b2f..9d33118 100644
|
index c958b2f49f..9d33118cf8 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memset.S
|
--- a/sysdeps/x86_64/multiarch/memset.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memset.S
|
+++ b/sysdeps/x86_64/multiarch/memset.S
|
||||||
@@ -41,6 +41,8 @@ ENTRY(memset)
|
@@ -41,6 +41,8 @@ ENTRY(memset)
|
||||||
|
@ -218,7 +204,7 @@ index c958b2f..9d33118 100644
|
||||||
jz 2f
|
jz 2f
|
||||||
lea __memset_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memset_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
diff --git a/sysdeps/x86_64/multiarch/memset_chk.S b/sysdeps/x86_64/multiarch/memset_chk.S
|
diff --git a/sysdeps/x86_64/multiarch/memset_chk.S b/sysdeps/x86_64/multiarch/memset_chk.S
|
||||||
index 79eaa37..7e08311 100644
|
index 79eaa37bb6..7e08311cdf 100644
|
||||||
--- a/sysdeps/x86_64/multiarch/memset_chk.S
|
--- a/sysdeps/x86_64/multiarch/memset_chk.S
|
||||||
+++ b/sysdeps/x86_64/multiarch/memset_chk.S
|
+++ b/sysdeps/x86_64/multiarch/memset_chk.S
|
||||||
@@ -38,6 +38,8 @@ ENTRY(__memset_chk)
|
@@ -38,6 +38,8 @@ ENTRY(__memset_chk)
|
||||||
|
@ -231,6 +217,5 @@ index 79eaa37..7e08311 100644
|
||||||
jz 2f
|
jz 2f
|
||||||
lea __memset_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
lea __memset_chk_avx512_no_vzeroupper(%rip), %RAX_LP
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From ccb4fd7a657b0fbc4890c98f4586d58a135fc583 Mon Sep 17 00:00:00 2001
|
From ccb4fd7a657b0fbc4890c98f4586d58a135fc583 Mon Sep 17 00:00:00 2001
|
||||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
Date: Tue, 14 Mar 2017 14:16:13 -0300
|
Date: Tue, 14 Mar 2017 14:16:13 -0300
|
||||||
Subject: [PATCH 15] Fix i686 memchr overflow calculation (BZ#21182)
|
Subject: Fix i686 memchr overflow calculation (BZ#21182)
|
||||||
|
|
||||||
This patch fixes the regression added by 23d2770 for final address
|
This patch fixes the regression added by 23d2770 for final address
|
||||||
overflow calculation. The subtraction of the considered size (16)
|
overflow calculation. The subtraction of the considered size (16)
|
||||||
|
@ -25,14 +25,9 @@ Checked on i686-linux-gnu and x86_64-linux-gnu.
|
||||||
overflow calculation.
|
overflow calculation.
|
||||||
|
|
||||||
Cherry-pick of 3abeeec5f46ff036bd9df60bb096e20314ccd078.
|
Cherry-pick of 3abeeec5f46ff036bd9df60bb096e20314ccd078.
|
||||||
---
|
|
||||||
ChangeLog | 8 ++++++++
|
|
||||||
string/test-memchr.c | 6 ++++++
|
|
||||||
sysdeps/i386/i686/multiarch/memchr-sse2.S | 2 +-
|
|
||||||
3 files changed, 15 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
index adebc03..ac19e98 100644
|
index adebc03b78..ac19e98613 100644
|
||||||
--- a/ChangeLog
|
--- a/ChangeLog
|
||||||
+++ b/ChangeLog
|
+++ b/ChangeLog
|
||||||
@@ -1,3 +1,11 @@
|
@@ -1,3 +1,11 @@
|
||||||
|
@ -48,7 +43,7 @@ index adebc03..ac19e98 100644
|
||||||
|
|
||||||
[BZ #21396]
|
[BZ #21396]
|
||||||
diff --git a/string/test-memchr.c b/string/test-memchr.c
|
diff --git a/string/test-memchr.c b/string/test-memchr.c
|
||||||
index d62889f..6431605 100644
|
index d62889ff8f..6431605c7e 100644
|
||||||
--- a/string/test-memchr.c
|
--- a/string/test-memchr.c
|
||||||
+++ b/string/test-memchr.c
|
+++ b/string/test-memchr.c
|
||||||
@@ -208,6 +208,12 @@ test_main (void)
|
@@ -208,6 +208,12 @@ test_main (void)
|
||||||
|
@ -65,7 +60,7 @@ index d62889f..6431605 100644
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
diff --git a/sysdeps/i386/i686/multiarch/memchr-sse2.S b/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
diff --git a/sysdeps/i386/i686/multiarch/memchr-sse2.S b/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||||
index 910679c..e41f324 100644
|
index 910679cfc0..e41f324a77 100644
|
||||||
--- a/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
--- a/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||||
+++ b/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
+++ b/sysdeps/i386/i686/multiarch/memchr-sse2.S
|
||||||
@@ -117,7 +117,6 @@ L(crosscache):
|
@@ -117,7 +117,6 @@ L(crosscache):
|
||||||
|
@ -85,5 +80,5 @@ index 910679c..e41f324 100644
|
||||||
lea 16(%edi), %edi
|
lea 16(%edi), %edi
|
||||||
# else
|
# else
|
||||||
--
|
--
|
||||||
2.7.4.GIT
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
From 34b6f41c14d09fe627c6a6224880d76d0959079e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Myers <joseph@codesourcery.com>
|
||||||
|
Date: Wed, 15 Mar 2017 17:32:46 +0000
|
||||||
|
Subject: Fix test-math-vector-sincos.h aliasing.
|
||||||
|
|
||||||
|
x86_64 libmvec tests have been failing to build lately with GCC
|
||||||
|
mainline with -Wuninitialized errors, and Markus Trippelsdorf traced
|
||||||
|
this to an aliasing issue
|
||||||
|
<https://sourceware.org/ml/libc-alpha/2017-03/msg00169.html>.
|
||||||
|
|
||||||
|
This patch fixes the aliasing issue, so that the vectors-of-pointers
|
||||||
|
are initialized using a union instead of pointer casts. This also
|
||||||
|
fixes the testsuite build failures with GCC mainline.
|
||||||
|
|
||||||
|
Tested for x86_64 (full testsuite with GCC 6; testsuite build with GCC
|
||||||
|
mainline with build-many-glibcs.py).
|
||||||
|
|
||||||
|
* sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP):
|
||||||
|
Use a union when storing pointers.
|
||||||
|
(VECTOR_WRAPPER_fFF_2): Do not take address of integer vector and
|
||||||
|
cast result when passing to INIT_VEC_PTRS_LOOP.
|
||||||
|
(VECTOR_WRAPPER_fFF_3): Likewise.
|
||||||
|
(VECTOR_WRAPPER_fFF_4): Likewise.
|
||||||
|
|
||||||
|
(cherry picked from commit ffe308e4fcf2f276c87fd405596569ba52ad0a29)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index ac19e98613..290515a58e 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,3 +1,12 @@
|
||||||
|
+2017-03-15 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
+
|
||||||
|
+ * sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP):
|
||||||
|
+ Use a union when storing pointers.
|
||||||
|
+ (VECTOR_WRAPPER_fFF_2): Do not take address of integer vector and
|
||||||
|
+ cast result when passing to INIT_VEC_PTRS_LOOP.
|
||||||
|
+ (VECTOR_WRAPPER_fFF_3): Likewise.
|
||||||
|
+ (VECTOR_WRAPPER_fFF_4): Likewise.
|
||||||
|
+
|
||||||
|
2017-05-01 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
|
|
||||||
|
[BZ# 21182]
|
||||||
|
diff --git a/sysdeps/x86/fpu/test-math-vector-sincos.h b/sysdeps/x86/fpu/test-math-vector-sincos.h
|
||||||
|
index 5043b32563..95282a3ac7 100644
|
||||||
|
--- a/sysdeps/x86/fpu/test-math-vector-sincos.h
|
||||||
|
+++ b/sysdeps/x86/fpu/test-math-vector-sincos.h
|
||||||
|
@@ -17,14 +17,14 @@
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
-#define INIT_VEC_PTRS_LOOP(vec, val, len) \
|
||||||
|
- do \
|
||||||
|
- { \
|
||||||
|
- for (i = 0; i < len; i++) \
|
||||||
|
- { \
|
||||||
|
- vec[i] = &val[i]; \
|
||||||
|
- } \
|
||||||
|
- } \
|
||||||
|
+#define INIT_VEC_PTRS_LOOP(vec, val, len) \
|
||||||
|
+ do \
|
||||||
|
+ { \
|
||||||
|
+ union { VEC_INT_TYPE v; __typeof__ ((val)[0]) *a[(len)]; } u; \
|
||||||
|
+ for (i = 0; i < len; i++) \
|
||||||
|
+ u.a[i] = &(val)[i]; \
|
||||||
|
+ (vec) = u.v; \
|
||||||
|
+ } \
|
||||||
|
while (0)
|
||||||
|
|
||||||
|
/* Wrapper for vector sincos/sincosf compatible with x86_64 and x32 variants
|
||||||
|
@@ -40,8 +40,8 @@ void scalar_func (FLOAT x, FLOAT * r, FLOAT * r1) \
|
||||||
|
VEC_TYPE mx; \
|
||||||
|
VEC_INT_TYPE mr, mr1; \
|
||||||
|
INIT_VEC_LOOP (mx, x, VEC_LEN); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr), r_loc, VEC_LEN); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr1), r1_loc, VEC_LEN); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr, r_loc, VEC_LEN); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr1, r1_loc, VEC_LEN); \
|
||||||
|
vector_func (mx, mr, mr1); \
|
||||||
|
TEST_VEC_LOOP (r_loc, VEC_LEN); \
|
||||||
|
TEST_VEC_LOOP (r1_loc, VEC_LEN); \
|
||||||
|
@@ -63,8 +63,8 @@ void scalar_func (FLOAT x, FLOAT * r, FLOAT * r1) \
|
||||||
|
VEC_TYPE mx; \
|
||||||
|
VEC_INT_TYPE mr, mr1; \
|
||||||
|
INIT_VEC_LOOP (mx, x, VEC_LEN); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr), r_loc, VEC_LEN/2); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr1), r1_loc, VEC_LEN/2); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr, r_loc, VEC_LEN/2); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr1, r1_loc, VEC_LEN/2); \
|
||||||
|
vector_func (mx, mr, mr, mr1, mr1); \
|
||||||
|
TEST_VEC_LOOP (r_loc, VEC_LEN/2); \
|
||||||
|
TEST_VEC_LOOP (r1_loc, VEC_LEN/2); \
|
||||||
|
@@ -87,8 +87,8 @@ void scalar_func (FLOAT x, FLOAT * r, FLOAT * r1) \
|
||||||
|
VEC_TYPE mx; \
|
||||||
|
VEC_INT_TYPE mr, mr1; \
|
||||||
|
INIT_VEC_LOOP (mx, x, VEC_LEN); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr), r_loc, VEC_LEN/4); \
|
||||||
|
- INIT_VEC_PTRS_LOOP (((FLOAT **) &mr1), r1_loc, VEC_LEN/4); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr, r_loc, VEC_LEN/4); \
|
||||||
|
+ INIT_VEC_PTRS_LOOP (mr1, r1_loc, VEC_LEN/4); \
|
||||||
|
vector_func (mx, mr, mr, mr, mr, mr1, mr1, mr1, mr1); \
|
||||||
|
TEST_VEC_LOOP (r_loc, VEC_LEN/4); \
|
||||||
|
TEST_VEC_LOOP (r1_loc, VEC_LEN/4); \
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
From b8d2e394a2900cef5bbbe0503f15960f64a943b1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Fri, 9 Jun 2017 13:21:43 +0200
|
||||||
|
Subject: fork: Remove bogus parent PID assertions [BZ #21386]
|
||||||
|
|
||||||
|
(cherry picked from commit 1d2bc2eae969543b89850e35e532f3144122d80a)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index 290515a58e..d44aff0a36 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,3 +1,10 @@
|
||||||
|
+2017-05-12 Florian Weimer <fweimer@redhat.com>
|
||||||
|
+
|
||||||
|
+ [BZ #21386]
|
||||||
|
+ * sysdeps/nptl/fork.c (__libc_fork): Remove assertions on the
|
||||||
|
+ parent PID. The assertion in the child is incorrect with PID
|
||||||
|
+ namespaces.
|
||||||
|
+
|
||||||
|
2017-03-15 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP):
|
||||||
|
diff --git a/NEWS b/NEWS
|
||||||
|
index fee1cf8ca8..d52872323d 100644
|
||||||
|
--- a/NEWS
|
||||||
|
+++ b/NEWS
|
||||||
|
@@ -14,6 +14,7 @@ The following bugs are resolved with this release:
|
||||||
|
[21109] Tunables broken on big-endian
|
||||||
|
[21115] sunrpc: Use-after-free in error path in clntudp_call
|
||||||
|
[21289] Fix symbol redirect for fts_set
|
||||||
|
+ [21386] Assertion in fork for distinct parent PID is incorrect
|
||||||
|
|
||||||
|
Version 2.25
|
||||||
|
|
||||||
|
diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
|
||||||
|
index db6d721fce..4bb87e2331 100644
|
||||||
|
--- a/sysdeps/nptl/fork.c
|
||||||
|
+++ b/sysdeps/nptl/fork.c
|
||||||
|
@@ -131,10 +131,6 @@ __libc_fork (void)
|
||||||
|
call_function_static_weak (__malloc_fork_lock_parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifndef NDEBUG
|
||||||
|
- pid_t ppid = THREAD_GETMEM (THREAD_SELF, tid);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#ifdef ARCH_FORK
|
||||||
|
pid = ARCH_FORK ();
|
||||||
|
#else
|
||||||
|
@@ -147,8 +143,6 @@ __libc_fork (void)
|
||||||
|
{
|
||||||
|
struct pthread *self = THREAD_SELF;
|
||||||
|
|
||||||
|
- assert (THREAD_GETMEM (self, tid) != ppid);
|
||||||
|
-
|
||||||
|
/* See __pthread_once. */
|
||||||
|
if (__fork_generation_pointer != NULL)
|
||||||
|
*__fork_generation_pointer += __PTHREAD_ONCE_FORK_GEN_INCR;
|
||||||
|
@@ -230,8 +224,6 @@ __libc_fork (void)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- assert (THREAD_GETMEM (THREAD_SELF, tid) == ppid);
|
||||||
|
-
|
||||||
|
/* Release acquired locks in the multi-threaded case. */
|
||||||
|
if (multiple_threads)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,131 @@
|
||||||
|
From f92b1025980a939645b1ec7e550411a05ac7c76f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Santhosh Thottingal <santhosh.thottingal@gmail.com>
|
||||||
|
Date: Sun, 11 Jun 2017 10:08:37 -0400
|
||||||
|
Subject: Correct collation rules for Malayalam.
|
||||||
|
|
||||||
|
[BZ #19922]
|
||||||
|
* locales/iso14651_t1_common: Add collation rules for U+07DA to U+07DF.
|
||||||
|
|
||||||
|
[BZ #19919]
|
||||||
|
* locales/iso14651_t1_common: Correct collation of U+0D36 and U+0D37.
|
||||||
|
|
||||||
|
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
|
||||||
|
index 0cdb097ab6..127c1cfb35 100644
|
||||||
|
--- a/localedata/ChangeLog
|
||||||
|
+++ b/localedata/ChangeLog
|
||||||
|
@@ -1,3 +1,11 @@
|
||||||
|
+2017-06-11 Santhosh Thottingal <santhosh.thottingal@gmail.com>
|
||||||
|
+
|
||||||
|
+ [BZ #19922]
|
||||||
|
+ * locales/iso14651_t1_common: Add collation rules for U+07DA to U+07DF.
|
||||||
|
+
|
||||||
|
+ [BZ #19919]
|
||||||
|
+ * locales/iso14651_t1_common: Correct collation of U+0D36 and U+0D37.
|
||||||
|
+
|
||||||
|
2017-01-01 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* All files with FSF copyright notices: Update copyright dates
|
||||||
|
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
|
||||||
|
index eef75ba65e..0e64f26a12 100644
|
||||||
|
--- a/localedata/locales/iso14651_t1_common
|
||||||
|
+++ b/localedata/locales/iso14651_t1_common
|
||||||
|
@@ -1042,9 +1042,9 @@ collating-element <ml-bh> from "<U0D2D><U0D4D>"
|
||||||
|
collating-element <ml-m> from "<U0D2E><U0D4D>"
|
||||||
|
collating-element <ml-y> from "<U0D2F><U0D4D>"
|
||||||
|
collating-element <ml-v> from "<U0D35><U0D4D>"
|
||||||
|
-collating-element <ml-s> from "<U0D38><U0D4D>"
|
||||||
|
collating-element <ml-ss> from "<U0D36><U0D4D>"
|
||||||
|
collating-element <ml-sh> from "<U0D37><U0D4D>"
|
||||||
|
+collating-element <ml-s> from "<U0D38><U0D4D>"
|
||||||
|
collating-element <ml-h> from "<U0D39><U0D4D>"
|
||||||
|
collating-element <ml-zh> from "<U0D34><U0D4D>"
|
||||||
|
collating-element <ml-rr> from "<U0D31><U0D4D>"
|
||||||
|
@@ -1103,8 +1103,8 @@ collating-symbol <ml-rra>
|
||||||
|
collating-symbol <ml-la>
|
||||||
|
collating-symbol <ml-lla>
|
||||||
|
collating-symbol <ml-va>
|
||||||
|
-collating-symbol <ml-sha>
|
||||||
|
collating-symbol <ml-ssa>
|
||||||
|
+collating-symbol <ml-sha>
|
||||||
|
collating-symbol <ml-sa>
|
||||||
|
collating-symbol <ml-ha>
|
||||||
|
collating-symbol <ml-avagrah>
|
||||||
|
@@ -1126,6 +1126,12 @@ collating-symbol <mlvs-o>
|
||||||
|
collating-symbol <mlvs-au>
|
||||||
|
collating-symbol <ml-visarga>
|
||||||
|
collating-symbol <ml-virama>
|
||||||
|
+collating-symbol <ml-atomic-chillu-k>
|
||||||
|
+collating-symbol <ml-atomic-chillu-n>
|
||||||
|
+collating-symbol <ml-atomic-chillu-nn>
|
||||||
|
+collating-symbol <ml-atomic-chillu-l>
|
||||||
|
+collating-symbol <ml-atomic-chillu-ll>
|
||||||
|
+collating-symbol <ml-atomic-chillu-r>
|
||||||
|
#
|
||||||
|
# <BENGALI>
|
||||||
|
#
|
||||||
|
@@ -4552,6 +4558,12 @@ collating-symbol <TIB-subA>
|
||||||
|
<mlvs-o>
|
||||||
|
<mlvs-au>
|
||||||
|
<ml-visarga>
|
||||||
|
+<ml-atomic-chillu-k>
|
||||||
|
+<ml-atomic-chillu-n>
|
||||||
|
+<ml-atomic-chillu-nn>
|
||||||
|
+<ml-atomic-chillu-l>
|
||||||
|
+<ml-atomic-chillu-ll>
|
||||||
|
+<ml-atomic-chillu-r>
|
||||||
|
#
|
||||||
|
# <BENGALI>
|
||||||
|
#
|
||||||
|
@@ -7252,6 +7264,7 @@ order_start <MALAYALAM>;forward;forward;forward;forward,position
|
||||||
|
<U0D13> <mlvw-o>;<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D14> <mlvw-au>;<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-chillu-k> "<ml-ka><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
+<U0D7F> "<ml-ka><ml-virama>";<ml-atomic-chillu-k>;<MIN>;IGNORE
|
||||||
|
<U0D15> "<ml-ka><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-kh> "<ml-kha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D16> "<ml-kha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
@@ -7280,6 +7293,7 @@ order_start <MALAYALAM>;forward;forward;forward;forward,position
|
||||||
|
<ml-dh> "<ml-dha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D22> "<ml-dha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-chillu-nn> "<ml-nna><ml-virama>";<BAS>;<MIN>;IGNORE # ണ് = ണ + ് + zwj
|
||||||
|
+<U0D7A> "<ml-nna><ml-virama>";<ml-atomic-chillu-nn>;<MIN>;IGNORE
|
||||||
|
<U0D23> "<ml-nna><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ണ = ണ + ് + അ
|
||||||
|
<ml-th> "<ml-tha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D24> "<ml-tha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
@@ -7290,6 +7304,7 @@ order_start <MALAYALAM>;forward;forward;forward;forward,position
|
||||||
|
<ml-ddh> "<ml-ddha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D27> "<ml-ddha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-chillu-n> "<ml-na><ml-virama>";<BAS>;<MIN>;IGNORE # ന്= ന + ് + zwj
|
||||||
|
+<U0D7B> "<ml-na><ml-virama>";<ml-atomic-chillu-n>;<MIN>;IGNORE
|
||||||
|
<U0D28> "<ml-na><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE #ന = ന + ് + അ
|
||||||
|
<ml-p> "<ml-pa><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D2A> "<ml-pa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
@@ -7305,20 +7320,23 @@ order_start <MALAYALAM>;forward;forward;forward;forward,position
|
||||||
|
<ml-y> "<ml-ya><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D2F> "<ml-ya><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-chillu-r> "<ml-ra><ml-virama>";<BAS>;<MIN>;IGNORE # ര = ര + ് + zwj
|
||||||
|
+<U0D7C> "<ml-ra><ml-virama>";<ml-atomic-chillu-r>;<MIN>;IGNORE
|
||||||
|
<U0D30> "<ml-ra><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ര = ര + ് + അ
|
||||||
|
<ml-chillu-l> <ml-la>;<BAS>;<MIN>;IGNORE # ല് = ല + ് + zwj
|
||||||
|
+<U0D7D> "<ml-la><ml-virama>";<ml-atomic-chillu-l>;<MIN>;IGNORE
|
||||||
|
<U0D32> "<ml-la><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ല = ല + ് + അ
|
||||||
|
<ml-v> "<ml-va><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D35> "<ml-va><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-ss> "<ml-ssa><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
-<U0D37> "<ml-ssa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
+<U0D36> "<ml-ssa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-sh> "<ml-sha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
-<U0D36> "<ml-sha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
+<U0D37> "<ml-sha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-s> "<ml-sa><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D38> "<ml-sa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-h> "<ml-ha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D39> "<ml-ha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
<ml-chillu-ll> "<ml-lla><ml-virama>";<BAS>;<MIN>;IGNORE # ള് = ള + ് + zwj
|
||||||
|
+<U0D7E> "<ml-lla><ml-virama>";<ml-atomic-chillu-ll>;<MIN>;IGNORE
|
||||||
|
<U0D33> "<ml-lla><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ള = ള + ് + അ
|
||||||
|
<ml-zh> "<ml-zha><ml-virama>";<BAS>;<MIN>;IGNORE
|
||||||
|
<U0D34> "<ml-zha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
From 3c7cd21290cabdadd72984fb69bc51e64ff1002d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Mon, 19 Jun 2017 18:31:27 +0200
|
||||||
|
Subject: CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1 programs [BZ
|
||||||
|
#21624]
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH can only be used to reorder system search paths, which
|
||||||
|
is not useful functionality.
|
||||||
|
|
||||||
|
This makes an exploitable unbounded alloca in _dl_init_paths unreachable
|
||||||
|
for AT_SECURE=1 programs.
|
||||||
|
|
||||||
|
(cherry picked from commit f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index d44aff0a36..14ff8b8bb3 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,3 +1,10 @@
|
||||||
|
+2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
+
|
||||||
|
+ [BZ #21624]
|
||||||
|
+ CVE-2017-1000366
|
||||||
|
+ * elf/rtld.c (process_envvars): Ignore LD_LIBRARY_PATH for
|
||||||
|
+ __libc_enable_secure.
|
||||||
|
+
|
||||||
|
2017-05-12 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
[BZ #21386]
|
||||||
|
diff --git a/NEWS b/NEWS
|
||||||
|
index d52872323d..29079e8586 100644
|
||||||
|
--- a/NEWS
|
||||||
|
+++ b/NEWS
|
||||||
|
@@ -15,6 +15,7 @@ The following bugs are resolved with this release:
|
||||||
|
[21115] sunrpc: Use-after-free in error path in clntudp_call
|
||||||
|
[21289] Fix symbol redirect for fts_set
|
||||||
|
[21386] Assertion in fork for distinct parent PID is incorrect
|
||||||
|
+ [21624] Unsafe alloca allows local attackers to alias stack and heap (CVE-2017-1000366)
|
||||||
|
|
||||||
|
Version 2.25
|
||||||
|
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index a036ece956..2fc33a6178 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -2418,7 +2418,8 @@ process_envvars (enum mode *modep)
|
||||||
|
|
||||||
|
case 12:
|
||||||
|
/* The library search path. */
|
||||||
|
- if (memcmp (envline, "LIBRARY_PATH", 12) == 0)
|
||||||
|
+ if (!__libc_enable_secure
|
||||||
|
+ && memcmp (envline, "LIBRARY_PATH", 12) == 0)
|
||||||
|
{
|
||||||
|
library_path = &envline[13];
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
From 46703a3995aa3ca2b816814aa4ad05ed524194dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Mon, 19 Jun 2017 22:31:04 +0200
|
||||||
|
Subject: ld.so: Reject overly long LD_PRELOAD path elements
|
||||||
|
|
||||||
|
(cherry picked from commit 6d0ba622891bed9d8394eef1935add53003b12e8)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index 14ff8b8bb3..fbe4db2cf7 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,5 +1,12 @@
|
||||||
|
2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
+ * elf/rtld.c (SECURE_NAME_LIMIT, SECURE_PATH_LIMIT): Define.
|
||||||
|
+ (dso_name_valid_for_suid): New function.
|
||||||
|
+ (handle_ld_preload): Likewise.
|
||||||
|
+ (dl_main): Call it. Remove alloca.
|
||||||
|
+
|
||||||
|
+2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
+
|
||||||
|
[BZ #21624]
|
||||||
|
CVE-2017-1000366
|
||||||
|
* elf/rtld.c (process_envvars): Ignore LD_LIBRARY_PATH for
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index 2fc33a6178..4badcf6590 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -99,6 +99,35 @@ uintptr_t __pointer_chk_guard_local
|
||||||
|
strong_alias (__pointer_chk_guard_local, __pointer_chk_guard)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* Length limits for names and paths, to protect the dynamic linker,
|
||||||
|
+ particularly when __libc_enable_secure is active. */
|
||||||
|
+#ifdef NAME_MAX
|
||||||
|
+# define SECURE_NAME_LIMIT NAME_MAX
|
||||||
|
+#else
|
||||||
|
+# define SECURE_NAME_LIMIT 255
|
||||||
|
+#endif
|
||||||
|
+#ifdef PATH_MAX
|
||||||
|
+# define SECURE_PATH_LIMIT PATH_MAX
|
||||||
|
+#else
|
||||||
|
+# define SECURE_PATH_LIMIT 1024
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* Check that AT_SECURE=0, or that the passed name does not contain
|
||||||
|
+ directories and is not overly long. Reject empty names
|
||||||
|
+ unconditionally. */
|
||||||
|
+static bool
|
||||||
|
+dso_name_valid_for_suid (const char *p)
|
||||||
|
+{
|
||||||
|
+ if (__glibc_unlikely (__libc_enable_secure))
|
||||||
|
+ {
|
||||||
|
+ /* Ignore pathnames with directories for AT_SECURE=1
|
||||||
|
+ programs, and also skip overlong names. */
|
||||||
|
+ size_t len = strlen (p);
|
||||||
|
+ if (len >= SECURE_NAME_LIMIT || memchr (p, '/', len) != NULL)
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ return *p != '\0';
|
||||||
|
+}
|
||||||
|
|
||||||
|
/* List of auditing DSOs. */
|
||||||
|
static struct audit_list
|
||||||
|
@@ -716,6 +745,42 @@ static const char *preloadlist attribute_relro;
|
||||||
|
/* Nonzero if information about versions has to be printed. */
|
||||||
|
static int version_info attribute_relro;
|
||||||
|
|
||||||
|
+/* The LD_PRELOAD environment variable gives list of libraries
|
||||||
|
+ separated by white space or colons that are loaded before the
|
||||||
|
+ executable's dependencies and prepended to the global scope list.
|
||||||
|
+ (If the binary is running setuid all elements containing a '/' are
|
||||||
|
+ ignored since it is insecure.) Return the number of preloads
|
||||||
|
+ performed. */
|
||||||
|
+unsigned int
|
||||||
|
+handle_ld_preload (const char *preloadlist, struct link_map *main_map)
|
||||||
|
+{
|
||||||
|
+ unsigned int npreloads = 0;
|
||||||
|
+ const char *p = preloadlist;
|
||||||
|
+ char fname[SECURE_PATH_LIMIT];
|
||||||
|
+
|
||||||
|
+ while (*p != '\0')
|
||||||
|
+ {
|
||||||
|
+ /* Split preload list at space/colon. */
|
||||||
|
+ size_t len = strcspn (p, " :");
|
||||||
|
+ if (len > 0 && len < sizeof (fname))
|
||||||
|
+ {
|
||||||
|
+ memcpy (fname, p, len);
|
||||||
|
+ fname[len] = '\0';
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ fname[0] = '\0';
|
||||||
|
+
|
||||||
|
+ /* Skip over the substring and the following delimiter. */
|
||||||
|
+ p += len;
|
||||||
|
+ if (*p != '\0')
|
||||||
|
+ ++p;
|
||||||
|
+
|
||||||
|
+ if (dso_name_valid_for_suid (fname))
|
||||||
|
+ npreloads += do_preload (fname, main_map, "LD_PRELOAD");
|
||||||
|
+ }
|
||||||
|
+ return npreloads;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
dl_main (const ElfW(Phdr) *phdr,
|
||||||
|
ElfW(Word) phnum,
|
||||||
|
@@ -1462,23 +1527,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
|
||||||
|
if (__glibc_unlikely (preloadlist != NULL))
|
||||||
|
{
|
||||||
|
- /* The LD_PRELOAD environment variable gives list of libraries
|
||||||
|
- separated by white space or colons that are loaded before the
|
||||||
|
- executable's dependencies and prepended to the global scope
|
||||||
|
- list. If the binary is running setuid all elements
|
||||||
|
- containing a '/' are ignored since it is insecure. */
|
||||||
|
- char *list = strdupa (preloadlist);
|
||||||
|
- char *p;
|
||||||
|
-
|
||||||
|
HP_TIMING_NOW (start);
|
||||||
|
-
|
||||||
|
- /* Prevent optimizing strsep. Speed is not important here. */
|
||||||
|
- while ((p = (strsep) (&list, " :")) != NULL)
|
||||||
|
- if (p[0] != '\0'
|
||||||
|
- && (__builtin_expect (! __libc_enable_secure, 1)
|
||||||
|
- || strchr (p, '/') == NULL))
|
||||||
|
- npreloads += do_preload (p, main_map, "LD_PRELOAD");
|
||||||
|
-
|
||||||
|
+ npreloads += handle_ld_preload (preloadlist, main_map);
|
||||||
|
HP_TIMING_NOW (stop);
|
||||||
|
HP_TIMING_DIFF (diff, start, stop);
|
||||||
|
HP_TIMING_ACCUM_NT (load_time, diff);
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,221 @@
|
||||||
|
From c69d4a0f680a24fdbe323764a50382ad324041e9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Mon, 19 Jun 2017 22:32:12 +0200
|
||||||
|
Subject: ld.so: Reject overly long LD_AUDIT path elements
|
||||||
|
|
||||||
|
Also only process the last LD_AUDIT entry.
|
||||||
|
|
||||||
|
(cherry picked from commit 81b82fb966ffbd94353f793ad17116c6088dedd9)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index fbe4db2cf7..67ce0aa4de 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,5 +1,16 @@
|
||||||
|
2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
+ * elf/rtld.c (audit_list_string): New variable.
|
||||||
|
+ (audit_list): Update comment.
|
||||||
|
+ (struct audit_list_iter): Define.
|
||||||
|
+ (audit_list_iter_init, audit_list_iter_next): New function.
|
||||||
|
+ (dl_main): Use struct audit_list_iter to process audit modules.
|
||||||
|
+ (process_dl_audit): Call dso_name_valid_for_suid.
|
||||||
|
+ (process_envvars): Set audit_list_string instead of calling
|
||||||
|
+ process_dl_audit.
|
||||||
|
+
|
||||||
|
+2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
+
|
||||||
|
* elf/rtld.c (SECURE_NAME_LIMIT, SECURE_PATH_LIMIT): Define.
|
||||||
|
(dso_name_valid_for_suid): New function.
|
||||||
|
(handle_ld_preload): Likewise.
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index 4badcf6590..369724babe 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -129,13 +129,91 @@ dso_name_valid_for_suid (const char *p)
|
||||||
|
return *p != '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* List of auditing DSOs. */
|
||||||
|
+/* LD_AUDIT variable contents. Must be processed before the
|
||||||
|
+ audit_list below. */
|
||||||
|
+const char *audit_list_string;
|
||||||
|
+
|
||||||
|
+/* Cyclic list of auditing DSOs. audit_list->next is the first
|
||||||
|
+ element. */
|
||||||
|
static struct audit_list
|
||||||
|
{
|
||||||
|
const char *name;
|
||||||
|
struct audit_list *next;
|
||||||
|
} *audit_list;
|
||||||
|
|
||||||
|
+/* Iterator for audit_list_string followed by audit_list. */
|
||||||
|
+struct audit_list_iter
|
||||||
|
+{
|
||||||
|
+ /* Tail of audit_list_string still needing processing, or NULL. */
|
||||||
|
+ const char *audit_list_tail;
|
||||||
|
+
|
||||||
|
+ /* The list element returned in the previous iteration. NULL before
|
||||||
|
+ the first element. */
|
||||||
|
+ struct audit_list *previous;
|
||||||
|
+
|
||||||
|
+ /* Scratch buffer for returning a name which is part of
|
||||||
|
+ audit_list_string. */
|
||||||
|
+ char fname[SECURE_NAME_LIMIT];
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* Initialize an audit list iterator. */
|
||||||
|
+static void
|
||||||
|
+audit_list_iter_init (struct audit_list_iter *iter)
|
||||||
|
+{
|
||||||
|
+ iter->audit_list_tail = audit_list_string;
|
||||||
|
+ iter->previous = NULL;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* Iterate through both audit_list_string and audit_list. */
|
||||||
|
+static const char *
|
||||||
|
+audit_list_iter_next (struct audit_list_iter *iter)
|
||||||
|
+{
|
||||||
|
+ if (iter->audit_list_tail != NULL)
|
||||||
|
+ {
|
||||||
|
+ /* First iterate over audit_list_string. */
|
||||||
|
+ while (*iter->audit_list_tail != '\0')
|
||||||
|
+ {
|
||||||
|
+ /* Split audit list at colon. */
|
||||||
|
+ size_t len = strcspn (iter->audit_list_tail, ":");
|
||||||
|
+ if (len > 0 && len < sizeof (iter->fname))
|
||||||
|
+ {
|
||||||
|
+ memcpy (iter->fname, iter->audit_list_tail, len);
|
||||||
|
+ iter->fname[len] = '\0';
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ /* Do not return this name to the caller. */
|
||||||
|
+ iter->fname[0] = '\0';
|
||||||
|
+
|
||||||
|
+ /* Skip over the substring and the following delimiter. */
|
||||||
|
+ iter->audit_list_tail += len;
|
||||||
|
+ if (*iter->audit_list_tail == ':')
|
||||||
|
+ ++iter->audit_list_tail;
|
||||||
|
+
|
||||||
|
+ /* If the name is valid, return it. */
|
||||||
|
+ if (dso_name_valid_for_suid (iter->fname))
|
||||||
|
+ return iter->fname;
|
||||||
|
+ /* Otherwise, wrap around and try the next name. */
|
||||||
|
+ }
|
||||||
|
+ /* Fall through to the procesing of audit_list. */
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (iter->previous == NULL)
|
||||||
|
+ {
|
||||||
|
+ if (audit_list == NULL)
|
||||||
|
+ /* No pre-parsed audit list. */
|
||||||
|
+ return NULL;
|
||||||
|
+ /* Start of audit list. The first list element is at
|
||||||
|
+ audit_list->next (cyclic list). */
|
||||||
|
+ iter->previous = audit_list->next;
|
||||||
|
+ return iter->previous->name;
|
||||||
|
+ }
|
||||||
|
+ if (iter->previous == audit_list)
|
||||||
|
+ /* Cyclic list wrap-around. */
|
||||||
|
+ return NULL;
|
||||||
|
+ iter->previous = iter->previous->next;
|
||||||
|
+ return iter->previous->name;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#ifndef HAVE_INLINED_SYSCALLS
|
||||||
|
/* Set nonzero during loading and initialization of executable and
|
||||||
|
libraries, cleared before the executable's entry point runs. This
|
||||||
|
@@ -1303,11 +1381,13 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||||
|
GL(dl_rtld_map).l_tls_modid = _dl_next_tls_modid ();
|
||||||
|
|
||||||
|
/* If we have auditing DSOs to load, do it now. */
|
||||||
|
- if (__glibc_unlikely (audit_list != NULL))
|
||||||
|
+ bool need_security_init = true;
|
||||||
|
+ if (__glibc_unlikely (audit_list != NULL)
|
||||||
|
+ || __glibc_unlikely (audit_list_string != NULL))
|
||||||
|
{
|
||||||
|
- /* Iterate over all entries in the list. The order is important. */
|
||||||
|
struct audit_ifaces *last_audit = NULL;
|
||||||
|
- struct audit_list *al = audit_list->next;
|
||||||
|
+ struct audit_list_iter al_iter;
|
||||||
|
+ audit_list_iter_init (&al_iter);
|
||||||
|
|
||||||
|
/* Since we start using the auditing DSOs right away we need to
|
||||||
|
initialize the data structures now. */
|
||||||
|
@@ -1318,9 +1398,14 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||||
|
use different values (especially the pointer guard) and will
|
||||||
|
fail later on. */
|
||||||
|
security_init ();
|
||||||
|
+ need_security_init = false;
|
||||||
|
|
||||||
|
- do
|
||||||
|
+ while (true)
|
||||||
|
{
|
||||||
|
+ const char *name = audit_list_iter_next (&al_iter);
|
||||||
|
+ if (name == NULL)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
int tls_idx = GL(dl_tls_max_dtv_idx);
|
||||||
|
|
||||||
|
/* Now it is time to determine the layout of the static TLS
|
||||||
|
@@ -1329,7 +1414,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||||
|
no DF_STATIC_TLS bit is set. The reason is that we know
|
||||||
|
glibc will use the static model. */
|
||||||
|
struct dlmopen_args dlmargs;
|
||||||
|
- dlmargs.fname = al->name;
|
||||||
|
+ dlmargs.fname = name;
|
||||||
|
dlmargs.map = NULL;
|
||||||
|
|
||||||
|
const char *objname;
|
||||||
|
@@ -1342,7 +1427,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||||
|
not_loaded:
|
||||||
|
_dl_error_printf ("\
|
||||||
|
ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
- al->name, err_str);
|
||||||
|
+ name, err_str);
|
||||||
|
if (malloced)
|
||||||
|
free ((char *) err_str);
|
||||||
|
}
|
||||||
|
@@ -1446,10 +1531,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
goto not_loaded;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- al = al->next;
|
||||||
|
}
|
||||||
|
- while (al != audit_list->next);
|
||||||
|
|
||||||
|
/* If we have any auditing modules, announce that we already
|
||||||
|
have two objects loaded. */
|
||||||
|
@@ -1713,7 +1795,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
|
||||||
|
if (tcbp == NULL)
|
||||||
|
tcbp = init_tls ();
|
||||||
|
|
||||||
|
- if (__glibc_likely (audit_list == NULL))
|
||||||
|
+ if (__glibc_likely (need_security_init))
|
||||||
|
/* Initialize security features. But only if we have not done it
|
||||||
|
earlier. */
|
||||||
|
security_init ();
|
||||||
|
@@ -2344,9 +2426,7 @@ process_dl_audit (char *str)
|
||||||
|
char *p;
|
||||||
|
|
||||||
|
while ((p = (strsep) (&str, ":")) != NULL)
|
||||||
|
- if (p[0] != '\0'
|
||||||
|
- && (__builtin_expect (! __libc_enable_secure, 1)
|
||||||
|
- || strchr (p, '/') == NULL))
|
||||||
|
+ if (dso_name_valid_for_suid (p))
|
||||||
|
{
|
||||||
|
/* This is using the local malloc, not the system malloc. The
|
||||||
|
memory can never be freed. */
|
||||||
|
@@ -2410,7 +2490,7 @@ process_envvars (enum mode *modep)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (memcmp (envline, "AUDIT", 5) == 0)
|
||||||
|
- process_dl_audit (&envline[6]);
|
||||||
|
+ audit_list_string = &envline[6];
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,126 @@
|
||||||
|
From 3776f38fcd267c127ba5eb222e2c614c191744aa Mon Sep 17 00:00:00 2001
|
||||||
|
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
|
Date: Tue, 20 Jun 2017 05:59:17 +0200
|
||||||
|
Subject: Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug #21209)
|
||||||
|
|
||||||
|
The LD_HWCAP_MASK environment variable may alter the selection of
|
||||||
|
function variants for some architectures. For AT_SECURE process it
|
||||||
|
means that if an outdated routine has a bug that would otherwise not
|
||||||
|
affect newer platforms by default, LD_HWCAP_MASK will allow that bug
|
||||||
|
to be exploited.
|
||||||
|
|
||||||
|
To be on the safe side, ignore and disable LD_HWCAP_MASK for setuid
|
||||||
|
binaries.
|
||||||
|
|
||||||
|
[BZ #21209]
|
||||||
|
* elf/rtld.c (process_envvars): Ignore LD_HWCAP_MASK for
|
||||||
|
AT_SECURE processes.
|
||||||
|
* sysdeps/generic/unsecvars.h: Add LD_HWCAP_MASK.
|
||||||
|
* elf/tst-env-setuid.c (test_parent): Test LD_HWCAP_MASK.
|
||||||
|
(test_child): Likewise.
|
||||||
|
* elf/Makefile (tst-env-setuid-ENV): Add LD_HWCAP_MASK.
|
||||||
|
|
||||||
|
(cherry picked from commit 1c1243b6fc33c029488add276e56570a07803bfd)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index 67ce0aa4de..85f1e0a495 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,3 +1,13 @@
|
||||||
|
+2017-03-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
|
+
|
||||||
|
+ [BZ #21209]
|
||||||
|
+ * elf/rtld.c (process_envvars): Ignore LD_HWCAP_MASK for
|
||||||
|
+ AT_SECURE processes.
|
||||||
|
+ * sysdeps/generic/unsecvars.h: Add LD_HWCAP_MASK.
|
||||||
|
+ * elf/tst-env-setuid.c (test_parent): Test LD_HWCAP_MASK.
|
||||||
|
+ (test_child): Likewise.
|
||||||
|
+ * elf/Makefile (tst-env-setuid-ENV): Add LD_HWCAP_MASK.
|
||||||
|
+
|
||||||
|
2017-06-19 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* elf/rtld.c (audit_list_string): New variable.
|
||||||
|
diff --git a/NEWS b/NEWS
|
||||||
|
index 29079e8586..7be238c404 100644
|
||||||
|
--- a/NEWS
|
||||||
|
+++ b/NEWS
|
||||||
|
@@ -13,6 +13,7 @@ The following bugs are resolved with this release:
|
||||||
|
[21015] Document and fix --enable-bind-now
|
||||||
|
[21109] Tunables broken on big-endian
|
||||||
|
[21115] sunrpc: Use-after-free in error path in clntudp_call
|
||||||
|
+ [21209] Ignore and remove LD_HWCAP_MASK for AT_SECURE programs
|
||||||
|
[21289] Fix symbol redirect for fts_set
|
||||||
|
[21386] Assertion in fork for distinct parent PID is incorrect
|
||||||
|
[21624] Unsafe alloca allows local attackers to alias stack and heap (CVE-2017-1000366)
|
||||||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||||||
|
index 61abeb59ee..cc4aeb25b6 100644
|
||||||
|
--- a/elf/Makefile
|
||||||
|
+++ b/elf/Makefile
|
||||||
|
@@ -1398,6 +1398,7 @@ $(objpfx)tst-nodelete-dlclose: $(objpfx)tst-nodelete-dlclose-dso.so
|
||||||
|
$(objpfx)tst-nodelete-dlclose.out: $(objpfx)tst-nodelete-dlclose-dso.so \
|
||||||
|
$(objpfx)tst-nodelete-dlclose-plugin.so
|
||||||
|
|
||||||
|
-tst-env-setuid-ENV = MALLOC_CHECK_=2 MALLOC_MMAP_THRESHOLD_=4096
|
||||||
|
+tst-env-setuid-ENV = MALLOC_CHECK_=2 MALLOC_MMAP_THRESHOLD_=4096 \
|
||||||
|
+ LD_HWCAP_MASK=0xffffffff
|
||||||
|
tst-env-setuid-tunables-ENV = \
|
||||||
|
GLIBC_TUNABLES=glibc.malloc.check=2:glibc.malloc.mmap_threshold=4096
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index 369724babe..9362a21e73 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -2534,7 +2534,8 @@ process_envvars (enum mode *modep)
|
||||||
|
|
||||||
|
case 10:
|
||||||
|
/* Mask for the important hardware capabilities. */
|
||||||
|
- if (memcmp (envline, "HWCAP_MASK", 10) == 0)
|
||||||
|
+ if (!__libc_enable_secure
|
||||||
|
+ && memcmp (envline, "HWCAP_MASK", 10) == 0)
|
||||||
|
GLRO(dl_hwcap_mask) = __strtoul_internal (&envline[11], NULL,
|
||||||
|
0, 0);
|
||||||
|
break;
|
||||||
|
diff --git a/elf/tst-env-setuid.c b/elf/tst-env-setuid.c
|
||||||
|
index 6ec3fa5874..eec408eb5d 100644
|
||||||
|
--- a/elf/tst-env-setuid.c
|
||||||
|
+++ b/elf/tst-env-setuid.c
|
||||||
|
@@ -213,6 +213,12 @@ test_child (void)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (getenv ("LD_HWCAP_MASK") != NULL)
|
||||||
|
+ {
|
||||||
|
+ printf ("LD_HWCAP_MASK still set\n");
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -233,6 +239,12 @@ test_parent (void)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (getenv ("LD_HWCAP_MASK") == NULL)
|
||||||
|
+ {
|
||||||
|
+ printf ("LD_HWCAP_MASK lost\n");
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
diff --git a/sysdeps/generic/unsecvars.h b/sysdeps/generic/unsecvars.h
|
||||||
|
index a74083786e..5ea8a4a259 100644
|
||||||
|
--- a/sysdeps/generic/unsecvars.h
|
||||||
|
+++ b/sysdeps/generic/unsecvars.h
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
"LD_DEBUG\0" \
|
||||||
|
"LD_DEBUG_OUTPUT\0" \
|
||||||
|
"LD_DYNAMIC_WEAK\0" \
|
||||||
|
+ "LD_HWCAP_MASK\0" \
|
||||||
|
"LD_LIBRARY_PATH\0" \
|
||||||
|
"LD_ORIGIN_PATH\0" \
|
||||||
|
"LD_PRELOAD\0" \
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
From adc7e06fb412a2a1ee52f8cb788caf436335b9f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Wed, 14 Jun 2017 08:11:22 +0200
|
||||||
|
Subject: i686: Add missing IS_IN (libc) guards to vectorized strcspn
|
||||||
|
|
||||||
|
Since commit d957c4d3fa48d685ff2726c605c988127ef99395 (i386: Compile
|
||||||
|
rtld-*.os with -mno-sse -mno-mmx -mfpmath=387), vector intrinsics can
|
||||||
|
no longer be used in ld.so, even if the compiled code never makes it
|
||||||
|
into the final ld.so link. This commit adds the missing IS_IN (libc)
|
||||||
|
guard to the SSE 4.2 strcspn implementation, so that it can be used from
|
||||||
|
ld.so in the future.
|
||||||
|
|
||||||
|
(cherry picked from commit 69052a3a95da37169a08f9e59b2cc1808312753c)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog b/ChangeLog
|
||||||
|
index 85f1e0a495..73546da9e9 100644
|
||||||
|
--- a/ChangeLog
|
||||||
|
+++ b/ChangeLog
|
||||||
|
@@ -1,3 +1,8 @@
|
||||||
|
+2017-06-14 Florian Weimer <fweimer@redhat.com>
|
||||||
|
+
|
||||||
|
+ * sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard.
|
||||||
|
+ * sysdeps/i386/i686/multiarch/varshift.c: Likewise.
|
||||||
|
+
|
||||||
|
2017-03-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
|
|
||||||
|
[BZ #21209]
|
||||||
|
diff --git a/sysdeps/i386/i686/multiarch/strcspn-c.c b/sysdeps/i386/i686/multiarch/strcspn-c.c
|
||||||
|
index 6d61e190a8..ec230fb383 100644
|
||||||
|
--- a/sysdeps/i386/i686/multiarch/strcspn-c.c
|
||||||
|
+++ b/sysdeps/i386/i686/multiarch/strcspn-c.c
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
-#define __strcspn_sse2 __strcspn_ia32
|
||||||
|
-#include <sysdeps/x86_64/multiarch/strcspn-c.c>
|
||||||
|
+#if IS_IN (libc)
|
||||||
|
+# define __strcspn_sse2 __strcspn_ia32
|
||||||
|
+# include <sysdeps/x86_64/multiarch/strcspn-c.c>
|
||||||
|
+#endif
|
||||||
|
diff --git a/sysdeps/i386/i686/multiarch/varshift.c b/sysdeps/i386/i686/multiarch/varshift.c
|
||||||
|
index 7760b966e2..6742a35d41 100644
|
||||||
|
--- a/sysdeps/i386/i686/multiarch/varshift.c
|
||||||
|
+++ b/sysdeps/i386/i686/multiarch/varshift.c
|
||||||
|
@@ -1 +1,3 @@
|
||||||
|
-#include <sysdeps/x86_64/multiarch/varshift.c>
|
||||||
|
+#if IS_IN (libc)
|
||||||
|
+# include <sysdeps/x86_64/multiarch/varshift.c>
|
||||||
|
+#endif
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'glibc'
|
# Template file for 'glibc'
|
||||||
pkgname=glibc
|
pkgname=glibc
|
||||||
version=2.25
|
version=2.25
|
||||||
revision=4
|
revision=5
|
||||||
bootstrap=yes
|
bootstrap=yes
|
||||||
short_desc="The GNU C library"
|
short_desc="The GNU C library"
|
||||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||||
|
|
Loading…
Reference in New Issue