gitlab-ci: Use -fno-sanitize=function in the clang-user job
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 23 Jul 2024 23:25:42 +0000 (09:25 +1000)
committerRichard Henderson <richard.henderson@linaro.org>
Thu, 25 Jul 2024 23:35:27 +0000 (09:35 +1000)
With -fsanitize=undefined, which implies -fsanitize=function,
clang will add a "type signature" before functions.
It accesses funcptr-8 and funcptr-4 to do so.

The generated TCG prologue is directly on a page boundary,
so these accesses segfault.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240723232543.18093-1-richard.henderson@linaro.org>

.gitlab-ci.d/buildtest.yml

index e3a0758bd9e5449248ac3d5c4f42fffe0f48febc..aa327824052dfc6bb37f4e68463fb7ef27ad5189 100644 (file)
@@ -444,6 +444,7 @@ clang-user:
     CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
       --target-list-exclude=alpha-linux-user,microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
       --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
+      --extra-cflags=-fno-sanitize=function
     MAKE_CHECK_ARGS: check-unit check-tcg
 
 # Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory.