package/gcc: disable libsanitizer on ARM Thumb classic

libsanitizer is broken for Thumb1, sanitizer_linux.cc contains
unconditional "ldr ip, [sp], #8", which causes:

....s: Assembler messages:
....s:4190: Error: lo register required -- `ldr ip,[sp],#8'

Fixes:

  http://autobuild.buildroot.net/results/5e15820c5db8c4c48c1de62a0c77171aeee381ba/

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
master
Alexander Sverdlin 2023-06-04 18:35:35 +02:00 committed by Thomas Petazzoni
parent ee93213d18
commit fd17b3dd44
1 changed files with 8 additions and 0 deletions

View File

@ -154,6 +154,14 @@ ifeq ($(BR2_mips)$(BR2_mipsel):$(BR2_TOOLCHAIN_GCC_AT_LEAST_12),y:y)
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
endif
# libsanitizer is broken for Thumb1, sanitizer_linux.cc contains unconditional
# "ldr ip, [sp], #8", which causes:
# ....s: Assembler messages:
# ....s:4190: Error: lo register required -- `ldr ip,[sp],#8'
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),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