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.
19 lines
1008 B
ArmAsm
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.
|