From ea9a81bcb7380ed6ebcd277aa177bed9e7b459e9 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 27 Feb 2025 11:32:53 +0100 Subject: [PATCH] Fix Clang TSAN reports Disabling new dynamic ELF tags ensures the Clang symbolizer creates valid TSAN reports. For consistency, also add the option to gcc:tsan so they are both on the same footing. (cherry picked from commit ac9eec632718a20a3454d2d547fea60d58fc603c) --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ffcda74486..9db237073e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1312,7 +1312,7 @@ gcc:tsan: variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Wno-stringop-overread -ggdb -O2 -fsanitize=thread" - LDFLAGS: "-fsanitize=thread" + LDFLAGS: "-fsanitize=thread -Wl,--disable-new-dtags" EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/opt/tsan/lib/pkgconfig" <<: *tsan_fedora_41_amd64_image <<: *build_job @@ -1341,7 +1341,8 @@ clang:tsan: variables: CC: "${CLANG}" CFLAGS: "${CFLAGS_COMMON} -ggdb -O2 -fsanitize=thread" - LDFLAGS: "-fsanitize=thread" + # -Wl,--disable-new-dtags ensures that Clang creates valid TSAN reports + LDFLAGS: "-fsanitize=thread -Wl,--disable-new-dtags" EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/opt/tsan/lib/pkgconfig" system:clang:tsan: