| # RUN: yaml2obj %s -o %t |
| # RUN: not llvm-objcopy -R .symtab %t %t2 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR1 -DINPUT=%t |
| # RUN: cp %t %t3 |
| # RUN: not llvm-strip --no-strip-all -R .symtab %t3 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR2 -DINPUT=%t3 |
| |
| # RUN: yaml2obj -DTYPE=SHT_CREL %s -o %t.crel |
| # RUN: not llvm-objcopy -R .symtab %t.crel %t2.crel 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR1 -DINPUT=%t.crel |
| |
| !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .text |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| Address: 0x1000 |
| AddressAlign: 0x0000000000000010 |
| Content: "0000000000000000" |
| - Name: .rel.text |
| Type: [[TYPE=SHT_REL]] |
| Link: .symtab |
| Info: .text |
| Relocations: |
| - Offset: 0x1000 |
| Symbol: foo |
| Type: R_X86_64_PC32 |
| |
| Symbols: |
| - Name: foo |
| Type: STT_FUNC |
| Size: 4 |
| Binding: STB_GLOBAL |
| |
| # ERR1: error: '[[INPUT]]': symbol table '.symtab' cannot be removed because it is referenced by the relocation section '.rel.text' |
| # ERR2: error: '[[INPUT]]': symbol table '.symtab' cannot be removed because it is referenced by the relocation section '.rel.text' |
| |
| # RUN: llvm-objcopy --allow-broken-links -R .symtab %t %t4 |
| # RUN: llvm-readobj --sections %t4 | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| # RUN: cp %t %t5 |
| # RUN: llvm-strip --no-strip-all --allow-broken-links -R .symtab %t5 |
| # RUN: llvm-readobj --sections %t5 | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| |
| # RUN: llvm-objcopy --allow-broken-links -R .symtab %t.crel %t4.crel |
| # RUN: llvm-readobj --sections %t4.crel | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| # RUN: cp %t.crel %t5.crel |
| # RUN: llvm-strip --no-strip-all --allow-broken-links -R .symtab %t5.crel |
| # RUN: llvm-readobj --sections %t5.crel | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| |
| # SECTIONS: Name: .rel.text |
| # SECTIONS: Link |
| # SECTIONS-SAME: : 0 |