| # 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: |