Blob Blame History Raw
commit 38cade0c461e58770749d7e8973f85c79532838a
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Jul 5 19:28:11 2018 +0200

    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.

diff --git a/debug/Makefile b/debug/Makefile
index c6f6feb0ecf538a2..506cebc3c4ca19ff 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -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)