blob: 5355b22328a7d46650819b2905112e8c4ffb7918 [file] [log] [blame]
# RUN: yaml2obj %p/Inputs/strip-symbols.yaml > %t.in.o
# RUN: llvm-readobj -relocations %t.in.o | FileCheck %s --check-prefixes=RELOCS,RELOCS-PRE
# RUN: llvm-objdump -t %t.in.o | FileCheck %s --check-prefixes=SYMBOLS,SYMBOLS-PRE
# RUN: llvm-objcopy -N mainfunc %t.in.o %t.out.o
# RUN: llvm-readobj -relocations %t.out.o | FileCheck %s --check-prefixes=RELOCS,RELOCS-POST
# RUN: llvm-objdump -t %t.out.o | FileCheck %s --check-prefix=SYMBOLS
# RUN: llvm-objcopy --strip-symbol mainfunc %t.in.o %t.out.o
# RUN: llvm-readobj -relocations %t.out.o | FileCheck %s --check-prefixes=RELOCS,RELOCS-POST
# RUN: llvm-objdump -t %t.out.o | FileCheck %s --check-prefix=SYMBOLS
# Explicitly listing the relocations for the input as well, to show
# that the symbol index of the symbol foo is updated in the relocations,
# while keeping relocations to two distinct .rdata symbols separate.
# RELOCS: Relocations [
# RELOCS-NEXT: Section (1) .text {
# RELOCS-NEXT: 0x3 IMAGE_REL_AMD64_REL32 .rdata (0)
# RELOCS-NEXT: 0xA IMAGE_REL_AMD64_REL32 .rdata (1)
# RELOCS-PRE-NEXT: 0x11 IMAGE_REL_AMD64_REL32 foo (3)
# RELOCS-POST-NEXT: 0x11 IMAGE_REL_AMD64_REL32 foo (2)
# RELOCS-NEXT: }
# RELOCS-NEXT: ]
# SYMBOLS: SYMBOL TABLE:
# SYMBOLS-NEXT: .rdata
# SYMBOLS-NEXT: .rdata
# SYMBOLS-PRE-NEXT: mainfunc
# SYMBOLS-NEXT: foo
# SYMBOLS-EMPTY: