; RUN: rm -rf %t ; RUN: mkdir %t ; RUN: cd %t ; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-types-dup-main.s \ ; RUN: -split-dwarf-file=main.dwo -o main.o ; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-types-dup-helper.s \ ; RUN: -split-dwarf-file=helper.dwo -o helper.o ; RUN: %clang %cflags -gdwarf-5 -gsplit-dwarf=split main.o helper.o -o main.exe ; RUN: llvm-dwp -e main.exe -o main.exe.dwp ; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections \ ; RUN: --thread-count=4 --cu-processing-batch-size=4 --dwp=main.exe.dwp 2>&1 | FileCheck %s ; RUN: llvm-dwarfdump --debug-info -r 0 main.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-DWO-MAIN %s ; RUN: llvm-dwarfdump --debug-info -r 0 helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-DWO-HELPER %s ;; Tests that BOLT correctly handles DWARF5 DWP file as input in a ;; multi-threaded configuration without triggering ThreadSanitizer (TSan) ;; data race reports. The binary must be built with TSan instrumentation ;; (i.e. LLVM_USE_SANITIZER=Thread) for this test to be effective. ;; REQUIRES: tsan ; CHECK-NOT: ThreadSanitizer: data race ; CHECK-NOT: ThreadSanitizer: reported ; CHECK-NOT: WARNING: ThreadSanitizer ; BOLT-DWO-DWO-MAIN: DW_TAG_compile_unit ; BOLT-DWO-DWO-HELPER: DW_TAG_compile_unit