Skip to content

Commit 8229284

Browse files
sverdlinuser131
authored andcommitted
package/gcc: disable libsanitizer on ARM Thumb classic
libsanitizer is broken for Thumb1, sanitizer_linux.cc contains unconditional "ldr ip, [sp], OpenDingux#8", which causes: ....s: Assembler messages: ....s:4190: Error: lo register required -- `ldr ip,[sp],OpenDingux#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>
1 parent c0b7eb6 commit 8229284

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

package/gcc/gcc.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,14 @@ ifeq ($(BR2_mips)$(BR2_mipsel):$(BR2_TOOLCHAIN_GCC_AT_LEAST_12),y:y)
154154
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
155155
endif
156156

157+
# libsanitizer is broken for Thumb1, sanitizer_linux.cc contains unconditional
158+
# "ldr ip, [sp], #8", which causes:
159+
# ....s: Assembler messages:
160+
# ....s:4190: Error: lo register required -- `ldr ip,[sp],#8'
161+
ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
162+
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
163+
endif
164+
157165
# The logic in libbacktrace/configure.ac to detect if __sync builtins
158166
# are available assumes they are as soon as target_subdir is not
159167
# empty, i.e when cross-compiling. However, some platforms do not have

0 commit comments

Comments
 (0)