From 20c894d21eb64153abf7c7f96e6a151897cf1488 Mon Sep 17 00:00:00 2001 From: Frédéric Bérat Date: Fri, 17 Mar 2023 10:17:28 +0100 Subject: Exclude routines from fortification Since the _FORTIFY_SOURCE feature uses some routines of Glibc, they need to be excluded from the fortification. On top of that: - some tests explicitly verify that some level of fortification works appropriately, we therefore shouldn't modify the level set for them. - some objects need to be build with optimization disabled, which prevents _FORTIFY_SOURCE to be used for them. Assembler files that implement architecture specific versions of the fortified routines were not excluded from _FORTIFY_SOURCE as there is no C header included that would impact their behavior. Reviewed-by: Siddhesh Poyarekar --- setjmp/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'setjmp') diff --git a/setjmp/Makefile b/setjmp/Makefile index e5733a8c52..363fb6673c 100644 --- a/setjmp/Makefile +++ b/setjmp/Makefile @@ -38,4 +38,13 @@ gen-as-const-headers += jmp_buf-macros.sym include ../Rules +# This test messes the stack on purpose, which triggers longjump fortify +# failure +CFLAGS-bug269-setjmp.c += $(no-fortify-source) + +# Exclude fortified routines from being built with _FORTIFY_SOURCE +routines_no_fortify += \ + longjmp \ + # routines_no_fortify + $(objpfx)tst-setjmp-fp: $(libm) -- cgit 1.4.1