2016-12-26 Nick Alcock <nick.alcock@oracle.com>
[BZ #7065]
+ * config.make.in (have-ssp, no-stack-protector): New.
+ * csu/Makefile (CFLAGS-.o, CFLAGS-.op, CFLAGS-.os): Use it.
+ * misc/Makefile (CFLAGS-sbrk.o): Likewise.
+ (CFLAGS-sbrk.op): Likewise.
+ (CFLAGS-brk.o): Likewise.
+ (CFLAGS-brk.op): Likewise.
+ * string/Makefile (CFLAGS-memcpy.c): Likewise.
+ (CFLAGS-wordcopy.c): Likewise.
+
+2016-12-26 Nick Alcock <nick.alcock@oracle.com>
+
+ [BZ #7065]
* configure.ac (HAVE_CC_NO_STACK_PROTECTOR): Define.
* config.h.in (HAVE_CC_NO_STACK_PROTECTOR): New macro.
* include/libc-symbols.h (inhibit_stack_protector): New macro.
enable-timezone-tools = @enable_timezone_tools@
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
have-fpie = @libc_cv_fpie@
+have-ssp = @libc_cv_ssp@
stack-protector = @stack_protector@
+no-stack-protector = @no_stack_protector@
have-selinux = @have_selinux@
have-libaudit = @have_libaudit@
have-libcap = @have_libcap@
# code is compiled with special flags.
tests =
+CFLAGS-.o += $(no-stack-protector)
+CFLAGS-.op += $(no-stack-protector)
+CFLAGS-.os += $(no-stack-protector)
+
ifeq (yes,$(build-shared))
extra-objs += S$(start-installed-name) gmon-start.os
ifneq ($(start-installed-name),$(static-start-installed-name))
CFLAGS-err.c = -fexceptions
CFLAGS-tst-tsearch.c = $(stack-align-test-flags)
+# Called during static library initialization, so turn stack-protection
+# off for non-shared builds.
+CFLAGS-sbrk.o = $(no-stack-protector)
+CFLAGS-sbrk.op = $(no-stack-protector)
+CFLAGS-brk.o = $(no-stack-protector)
+CFLAGS-brk.op = $(no-stack-protector)
+
include ../Rules
$(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib)
CFLAGS-tst-inlcall.c = -fno-builtin
CFLAGS-tst-xbzero-opt.c = -O3
+# Called during TLS initialization.
+CFLAGS-memcpy.c = $(no-stack-protector)
+CFLAGS-wordcopy.c = $(no-stack-protector)
+
ifeq ($(run-built-tests),yes)
$(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out
cmp $^ > $@; \