Skip to content

Commit 20d253e

Browse files
committed
[LinkerWrapper] Fix linker-wrapper not working with host-LTO
1 parent 6870a50 commit 20d253e

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

clang/test/Driver/linker-wrapper.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@
1111

1212
// NVPTX_LINK: nvlink{{.*}}-m64 -o {{.*}}.out -arch sm_70 {{.*}}.o {{.*}}.o
1313

14+
// RUN: clang-offload-packager -o %t.out \
15+
// RUN: --image=file=%S/Inputs/dummy-elf.o,kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70 \
16+
// RUN: --image=file=%S/Inputs/dummy-elf.o,kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70
17+
// RUN: %clang -cc1 %s -triple x86_64-unknown-linux-gnu -emit-llvm-bc -o %t.o -fembed-offload-object=%t.out
18+
// RUN: clang-linker-wrapper --host-triple=x86_64-unknown-linux-gnu --dry-run \
19+
// RUN: --linker-path=/usr/bin/ld -- %t.o -o a.out 2>&1 | FileCheck %s --check-prefix=HOST_BC
20+
21+
// HOST_BC: nvlink{{.*}}-m64 -o {{.*}}.out -arch sm_70 {{.*}}.o {{.*}}.o
22+
1423
// RUN: clang-offload-packager -o %t.out \
1524
// RUN: --image=file=%S/Inputs/dummy-elf.o,kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70 \
1625
// RUN: --image=file=%S/Inputs/dummy-elf.o,kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ Error extractFromBitcode(std::unique_ptr<MemoryBuffer> Buffer,
336336

337337
// Extract offloading data from globals referenced by the
338338
// `llvm.embedded.object` metadata with the `.llvm.offloading` section.
339-
auto *MD = M->getNamedMetadata("llvm.embedded.object");
339+
auto *MD = M->getNamedMetadata("llvm.embedded.objects");
340340
if (!MD)
341341
return Error::success();
342342

0 commit comments

Comments
 (0)