package/gcc: disable libsanitizer for mips64{el} w/ n32 ABI
libsanitizer has been enabled for mips64{el} in gcc 12 [1] but it fail to build when n32 ABI is used: In file included from output/mips64el-buildroot-linux-gnu/sysroot/usr/include/bits/stat.h:25, from output/mips64el-buildroot-linux-gnu/sysroot/usr/include/fcntl.h:78, from ../../../../libsanitizer/sanitizer_common/sanitizer_linux.cpp:55: output/mips64el-buildroot-linux-gnu/sysroot/usr/include/bits/struct_stat.h:190:8: error: redefinition of ‘struct stat64’ 190 | struct stat64 | ^~~~~~ In file included from ../../../../libsanitizer/sanitizer_common/sanitizer_linux.cpp:49: output/mips64el-buildroot-linux-gnu/sysroot/usr/include/asm/stat.h:52:8: note: previous definition of ‘struct stat64’ 52 | struct stat64 { | ^~~~~~ Disable libsanitizer for mips64 with n32 ABI. Note: Only glibc toolchains are affected since libsanitizer is disabled for musl and uClibc-ng toolchains [2]. Fixes: https://gitlab.com/kubu93/toolchains-builder/-/jobs/2510178651 [1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=344e6f9f2abcff9b2bb4b26b693be4a599272f43 [2] https://git.buildroot.net/buildroot/commit/?id=5f4d658d888b539de9a6247ae5b1a0999de5d4ec Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
d479264b34
commit
e0ff7f5351
@ -135,6 +135,13 @@ ifeq ($(BR2_sparc)$(BR2_sparc64),y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
|
||||
endif
|
||||
|
||||
# libsanitizer is available for mips64{el} since gcc 12 but fail to build
|
||||
# with n32 ABI due to struct stat64 definition clash due to mixing
|
||||
# kernel and user headers.
|
||||
ifeq ($(BR2_mips64)$(BR2_mips64el):$(BR2_MIPS_NABI32),y:y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
|
||||
endif
|
||||
|
||||
# The logic in libbacktrace/configure.ac to detect if __sync builtins
|
||||
# are available assumes they are as soon as target_subdir is not
|
||||
# empty, i.e when cross-compiling. However, some platforms do not have
|
||||
|
Loading…
Reference in New Issue
Block a user