Files
clang-p2996/llvm/test/tools/llvm-objdump/Offloading/binary.test
Joseph Huber ccf7dd5e81 [llvm-objdump] Ensure offloading sections have proper alignment
Summary:
A previous patch added support for dumping offloading sections. The
tests for this feature added dummy input to the required section using
`llvm-objcopy`. This binary format has a required alignment of `8` which
was not being respected by the file copied with llvm-objcopy and would
cause failures on architectures sensitive to alignment problems or with
sanitizers. This patch adds the proper alignemnt and adds an error check
at least for the binary format so it's not completely opaque. This
should be improvbed so users actually get a helpful message.
2022-07-01 23:26:44 -04:00

42 lines
1.5 KiB
Plaintext

## Check that we can dump an offloading binary directly.
# RUN: yaml2obj %S/Inputs/binary.yaml -o %t.bin
# RUN: llvm-objdump --offloading %t.bin | FileCheck %s --match-full-lines --strict-whitespace --implicit-check-not={{.}}
## Check that we can dump an offloading binary inside of an ELF section.
# RUN: yaml2obj %s -o %t.elf
# RUN: llvm-objcopy --add-section .llvm.offloading=%t.bin %t.elf
# RUN: llvm-objcopy --set-section-alignment .llvm.offloading=8 %t.elf
# RUN: llvm-objdump --offloading %t.elf | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
# ELF:{{.*}}file format elf64-unknown
# ELF-EMPTY:
# CHECK:OFFLOADING IMAGE [0]:
# CHECK-NEXT:kind llvm ir
# CHECK-NEXT:arch gfx908
# CHECK-NEXT:triple amdgcn-amd-amdhsa
# CHECK-NEXT:producer openmp
# CHECK-EMPTY:
# CHECK-NEXT:OFFLOADING IMAGE [1]:
# CHECK-NEXT:kind llvm ir
# CHECK-NEXT:arch gfx90a
# CHECK-NEXT:triple amdgcn-amd-amdhsa
# CHECK-NEXT:producer openmp
# CHECK-EMPTY:
# CHECK-NEXT:OFFLOADING IMAGE [2]:
# CHECK-NEXT:kind cubin
# CHECK-NEXT:arch sm_52
# CHECK-NEXT:triple nvptx64-nvidia-cuda
# CHECK-NEXT:producer openmp
# CHECK-EMPTY:
# CHECK-NEXT:OFFLOADING IMAGE [3]:
# CHECK-NEXT:kind <none>
# CHECK-NEXT:arch sm_70
# CHECK-NEXT:triple nvptx64-nvidia-cuda
# CHECK-NEXT:producer none