From e0eca4a55bd14d506708fb0396b31e7f7383160c Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Tue, 5 Dec 2023 13:39:49 -0500 Subject: [PATCH] build: unbreak bootstrap on uclinux targets [PR112762] Currently, cross-compiling with --target=c6x-uclinux (and several other) fails due to: ../../src/gcc/config/linux.h:221:45: error: 'linux_fortify_source_default_level' was not declared in this scope #define TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL linux_fortify_source_default_level In the PR Andrew mentions that another fix would be in config.gcc, but really, here I meant to use the target hook for glibc only, not uclibc. This trivial patch fixes the build problem. It means that -fhardened with uclibc will use -D_FORTIFY_SOURCE=2 and not =3. PR target/112762 gcc/ChangeLog: * config/linux.h: Redefine TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL for glibc only. --- gcc/config/linux.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/linux.h b/gcc/config/linux.h index 79b6537dcf13..73f39d3c6031 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h @@ -215,7 +215,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # undef TARGET_LIBM_FUNCTION_MAX_ERROR # define TARGET_LIBM_FUNCTION_MAX_ERROR linux_libm_function_max_error -#endif - #undef TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL #define TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL linux_fortify_source_default_level + +#endif -- 2.47.2