This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26-189-g99ee4d2
- From: sthibaul at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 27 Aug 2017 20:30:43 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-189-g99ee4d2
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 99ee4d26dc07c3eadfbf6793db26ef9dfb1551e5 (commit)
from 97e02ad23392f929862d6a04643e7f2fd91baebc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=99ee4d26dc07c3eadfbf6793db26ef9dfb1551e5
commit 99ee4d26dc07c3eadfbf6793db26ef9dfb1551e5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Aug 27 22:26:49 2017 +0200
hurd: Fix static initialization with -fstack-protector-strong
When linked statically, TLS initialization is not achieved before
mach_init and alike, so ssp accesses to tcbhead's stack_guard would
crash. We can just avoid using ssp in the few functions needed before
TLS is set up.
* mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
* hurd/Makefile (CFLAGS-hurdstartup.o,
CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).
diff --git a/ChangeLog b/ChangeLog
index 4d94fee..a93769f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,12 @@
stack_chk_fail_local.
* mach/Versions (GLIBC_2.4): Add __stack_chk_fail.
* hurd/Versions (GLIBC_2.4): Add __stack_chk_fail.
+ * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
+ CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
+ CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
+ CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
+ * hurd/Makefile (CFLAGS-hurdstartup.o,
+ CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).
2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/hurd/Makefile b/hurd/Makefile
index 9205822..b44b9b8 100644
--- a/hurd/Makefile
+++ b/hurd/Makefile
@@ -81,6 +81,10 @@ $(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h
echo '#include "$<"') > $@-new
mv -f $@-new $@
generated += $(inlines:=.c)
+
+# Avoid ssp before TLS is initialized.
+CFLAGS-hurdstartup.o = $(no-stack-protector)
+CFLAGS-RPC_exec_startup_get_info.o = $(no-stack-protector)
include ../mach/Machrules
include ../Rules
diff --git a/mach/Makefile b/mach/Makefile
index 127cad0..b4f18b1 100644
--- a/mach/Makefile
+++ b/mach/Makefile
@@ -53,6 +53,15 @@ server-interfaces := mach/exc
# Clear any environment value.
generated =
+
+# Avoid ssp before TLS is initialized.
+CFLAGS-mach_init.o = $(no-stack-protector)
+CFLAGS-RPC_vm_statistics.o = $(no-stack-protector)
+CFLAGS-RPC_vm_map.o = $(no-stack-protector)
+CFLAGS-RPC_vm_protect.o = $(no-stack-protector)
+CFLAGS-RPC_i386_set_gdt.o = $(no-stack-protector)
+CFLAGS-RPC_i386_set_ldt.o = $(no-stack-protector)
+CFLAGS-RPC_task_get_special_port.o = $(no-stack-protector)
# Translate GNU names for CPUs into the names used in Mach header files.
mach-machine = $(patsubst powerpc,ppc,$(base-machine))
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
hurd/Makefile | 4 ++++
mach/Makefile | 9 +++++++++
3 files changed, 19 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources