From ac9eec632718a20a3454d2d547fea60d58fc603c 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. --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0c936e99f..7b83374f0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1305,7 +1305,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 @@ -1334,7 +1334,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: