Compile debug/stack_chk_fail_local.c with stack protector

The resulting object file is statically linked into applications, so
it is desirable to have (formal) stack protector coverage there.
This commit is contained in:
Florian Weimer 2018-07-05 19:28:11 +02:00
parent 9449a295ad
commit 38cade0c46
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2018-07-05 Florian Weimer <fweimer@redhat.com>
Carlos O'Donell <carlos@redhat.com>
* debug/Makefile (CFLAGS-stack_chk_fail_local.c): Remove
$(no-stack-protector). stack_chk_fail_local.c can be compiled
with stack protector enabled because there is no risk of infinite
recursion.
2018-07-05 Maciej W. Rozycki <macro@mips.com>
[BZ #19818]

View File

@ -58,10 +58,13 @@ static-only-routines := warning-nop stack_chk_fail_local
elide-routines.o := stack_chk_fail_local
# Building the stack-protector failure routines with stack protection
# makes no sense.
# is not required since we have already failed a stack check and are
# exiting the process. However, the local aliases which jump to the
# real routines should still be compiled with stack protection
# (stack_chk_fail_local.c), so that the statically linked parts of the
# library have the expected flags.
CFLAGS-stack_chk_fail.c += $(no-stack-protector)
CFLAGS-stack_chk_fail_local.c += $(no-stack-protector)
CFLAGS-backtrace.c += -fno-omit-frame-pointer -funwind-tables
CFLAGS-sprintf_chk.c += $(libio-mtsafe)