Build csu/elf-init.c and csu/static-reloc.c with stack protector

This does not change generated code (with -fstack-protector-strong), but
is important for formal compiler flags compliance.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Florian Weimer 2018-07-05 22:57:45 +02:00
parent 38cade0c46
commit 3a885c1f51
2 changed files with 22 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2018-07-05 Florian Weimer <fweimer@redhat.com>
* csu/Makefile (CFLAGS-static-reloc.os): Build with stack
protector.
(CFLAGS-elf-init.oS): Likewise.
2018-07-05 Florian Weimer <fweimer@redhat.com>
Carlos O'Donell <carlos@redhat.com>

View File

@ -50,6 +50,22 @@ CFLAGS-.o += $(no-stack-protector)
CFLAGS-.op += $(no-stack-protector)
CFLAGS-.os += $(no-stack-protector)
# Dummy object not actually used for anything. It is linked into
# crt1.o nevertheless, which in turn is statically linked into
# applications, so that build flags matter.
# See <https://sourceware.org/ml/libc-alpha/2018-07/msg00101.html>.
# NB: Using $(stack-protector) in this way causes a wrong definition
# STACK_PROTECTOR_LEVEL due to the preceding $(no-stack-protector),
# but it does not matter for this source file.
CFLAGS-static-reloc.os += $(stack-protector)
# This file is not actually part of the startup code in the nonshared
# case and statically linked into applications. See
# <https://sourceware.org/bugzilla/show_bug.cgi?id=23323>,
# <https://sourceware.org/ml/libc-alpha/2018-06/msg00717.html>.
# Also see the note above regarding STACK_PROTECTOR_LEVEL.
CFLAGS-elf-init.oS += $(stack-protector)
ifeq (yes,$(build-shared))
extra-objs += S$(start-installed-name) gmon-start.os
ifneq ($(start-installed-name),$(static-start-installed-name))