From f5e0d33ab46086c88ce800bb80be547c046a0efa Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Thu, 30 Jun 2022 21:15:25 +1200 Subject: Allow libsanitizer on architectures that support it libsanitizer is only supported on selected architectures. Add ARCH_SUPPORTS_LIBSANITIZER and have architectures select this option based on the list of supported configurations from GCC's libsanitizer/configure.tgt. Support for mips64 was added in GCC12 so this is an additional condition for the mips architecture. Fixes #1733 Signed-off-by: Chris Packham --- config/arch/arm.in | 1 + config/arch/mips.in | 1 + config/arch/powerpc.in | 1 + config/arch/riscv.in | 1 + config/arch/s390.in | 1 + config/arch/sparc.in | 1 + config/arch/x86.in | 1 + 7 files changed, 7 insertions(+) (limited to 'config/arch') diff --git a/config/arch/arm.in b/config/arch/arm.in index 5b55c2ae..e50ec376 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -16,6 +16,7 @@ ## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 && !MULTILIB ## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 && !MULTILIB ## select ARCH_SUPPORTS_SOFTFP if ARCH_32 && !MULTILIB +## select ARCH_SUPPORTS_LIBSANITIZER ## select LINUX_REQUIRE_3_7_or_later if ARCH_64 && KERNEL_LINUX ## help The ARM architecture, as defined by: diff --git a/config/arch/mips.in b/config/arch/mips.in index ad8b1c64..a8c15c33 100644 --- a/config/arch/mips.in +++ b/config/arch/mips.in @@ -10,6 +10,7 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT +## select ARCH_SUPPORTS_LIBSANITIZER if (!ARCH_64 || GCC_12_or_later) ## help The MIPS architecture, as defined by: ## help http://www.mips.com/ diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index bb75ac0e..26954c88 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -12,6 +12,7 @@ ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT ## select ARCH_SUPPORTS_WITH_32_64 +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help The PowerPC architecture, as defined by: ## help http://www.ibm.com/developerworks/eserver/articles/archguide.html diff --git a/config/arch/riscv.in b/config/arch/riscv.in index 6b98520c..3e6ffbfb 100644 --- a/config/arch/riscv.in +++ b/config/arch/riscv.in @@ -10,6 +10,7 @@ ## select ARCH_SUPPORTS_WITH_ABI ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE +## select ARCH_SUPPORTS_LIBSANITIZER if ARCH_64 ## select GCC_REQUIRE_7_or_later ## select BINUTILS_REQUIRE_2_28_or_later ## select GDB_REQUIRE_8_0_or_later if DEBUG_GDB diff --git a/config/arch/s390.in b/config/arch/s390.in index 64107b69..7e34451f 100644 --- a/config/arch/s390.in +++ b/config/arch/s390.in @@ -6,6 +6,7 @@ ## select ARCH_DEFAULT_32 ## select ARCH_USE_MMU ## select ARCH_SUPPORTS_WITH_FPU +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help Defined by IBM in: ## help 32-bit ESA/390 : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar008/CCONTENTS diff --git a/config/arch/sparc.in b/config/arch/sparc.in index fe46eaae..14d37e73 100644 --- a/config/arch/sparc.in +++ b/config/arch/sparc.in @@ -11,6 +11,7 @@ ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT ## select ARCH_SUPPORTS_WITH_32_64 if GCC_6_or_later +## select ARCH_SUPPORTS_LIBSANITIZER ## ## help The SUN SPARC architecture, as defined by: ## help 32 bit: http://www.sparc.org/standards/V8.pdf diff --git a/config/arch/x86.in b/config/arch/x86.in index ec166557..cfdb1824 100644 --- a/config/arch/x86.in +++ b/config/arch/x86.in @@ -9,6 +9,7 @@ ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_32_64 +## select ARCH_SUPPORTS_LIBSANITIZER if ARCH_64 ## ## help The x86 architecture, as defined by: ## help 32-bit (ia32) : http://www.intel.com/ -- cgit v1.2.3