Lang Hames bfb0a518e7 [llvm-jitlink] Use -num-threads=0 for regression tests relying on debug output.
ORC and JITLink debugging output write the dbgs() raw_ostream, which isn't
thread-safe. Use -num-threads=0 to force single-threaded linking for tests that
produce debugging output.

The llvm-jitlink tool is updated to suggest -num-threads=0 when debugging
output is enabled.
2025-01-08 14:01:33 +11:00

19 lines
1008 B
ArmAsm

# REQUIRES: asserts
# RUN: rm -rf %t && mkdir -p %t
# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o \
# RUN: %t/external_weak.o %S/Inputs/external_weak.s
# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o \
# RUN: %t/external_weak_main.o %S/Inputs/external_weak_main.s
# RUN: llvm-jitlink -num-threads=0 -debug-only=jitlink -noexec \
# RUN: %t/external_weak.o %t/external_weak_main.o 2>&1 \
# RUN: | FileCheck %s
# CHECK: Created ELFLinkGraphBuilder for "{{.*}}external_weak_main.o"
# CHECK: Creating defined graph symbol for ELF symbol "foo"
# CHECK: External symbols:
# CHECK: {{.*}} linkage: weak, scope: default, dead - foo
# CHECK: section .text:
# CHECK: {{.*}} kind = CallBranchDeltaRestoreTOC, target = addressable@{{.*}}
# `foo` is weak in both relocatable files. `foo` is resolved to the one
# defined in `%t/external_weak.o`. So calling `foo` in `%t/external_weak_main.o`
# is expected to be an external function call.