Fangrui Song | 55c81d4 | 2020-01-21 17:02:25 -0800 | [diff] [blame] | 1 | # RUN: yaml2obj %s -o %t |
Seiya Nuta | ada9d2d8 | 2019-05-23 00:42:46 +0000 | [diff] [blame] | 2 | # RUN: not llvm-objcopy -R .symtab %t %t2 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR1 -DINPUT=%t |
James Henderson | 66a9d0f | 2019-04-18 09:13:30 +0000 | [diff] [blame] | 3 | # RUN: cp %t %t3 |
Seiya Nuta | ada9d2d8 | 2019-05-23 00:42:46 +0000 | [diff] [blame] | 4 | # RUN: not llvm-strip --no-strip-all -R .symtab %t3 2>&1 >/dev/null | FileCheck %s --check-prefix=ERR2 -DINPUT=%t3 |
Jake Ehrlich | 36a2eb3 | 2017-10-10 18:47:09 +0000 | [diff] [blame] | 5 | |
| 6 | !ELF |
| 7 | FileHeader: |
| 8 | Class: ELFCLASS64 |
| 9 | Data: ELFDATA2LSB |
| 10 | Type: ET_REL |
| 11 | Machine: EM_X86_64 |
| 12 | Sections: |
| 13 | - Name: .text |
| 14 | Type: SHT_PROGBITS |
| 15 | Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| 16 | Address: 0x1000 |
| 17 | AddressAlign: 0x0000000000000010 |
| 18 | Content: "0000000000000000" |
| 19 | - Name: .rel.text |
| 20 | Type: SHT_REL |
| 21 | Link: .symtab |
| 22 | Info: .text |
| 23 | Relocations: |
| 24 | - Offset: 0x1000 |
| 25 | Symbol: foo |
| 26 | Type: R_X86_64_PC32 |
| 27 | |
| 28 | Symbols: |
George Rimar | 6da44ad | 2019-04-03 14:53:42 +0000 | [diff] [blame] | 29 | - Name: foo |
| 30 | Type: STT_FUNC |
| 31 | Size: 4 |
| 32 | Binding: STB_GLOBAL |
Jake Ehrlich | 36a2eb3 | 2017-10-10 18:47:09 +0000 | [diff] [blame] | 33 | |
Seiya Nuta | ada9d2d8 | 2019-05-23 00:42:46 +0000 | [diff] [blame] | 34 | # ERR1: error: '[[INPUT]]': symbol table '.symtab' cannot be removed because it is referenced by the relocation section '.rel.text' |
| 35 | # ERR2: error: '[[INPUT]]': symbol table '.symtab' cannot be removed because it is referenced by the relocation section '.rel.text' |
James Henderson | 66a9d0f | 2019-04-18 09:13:30 +0000 | [diff] [blame] | 36 | |
| 37 | # RUN: llvm-objcopy --allow-broken-links -R .symtab %t %t4 |
| 38 | # RUN: llvm-readobj --sections %t4 | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| 39 | # RUN: cp %t %t5 |
James Henderson | e4a89a1 | 2019-05-02 11:53:02 +0000 | [diff] [blame] | 40 | # RUN: llvm-strip --no-strip-all --allow-broken-links -R .symtab %t5 |
James Henderson | 66a9d0f | 2019-04-18 09:13:30 +0000 | [diff] [blame] | 41 | # RUN: llvm-readobj --sections %t5 | FileCheck %s --check-prefix=SECTIONS --implicit-check-not=.symtab |
| 42 | |
| 43 | # SECTIONS: Name: .rel.text |
| 44 | # SECTIONS: Link |
| 45 | # SECTIONS-SAME: : 0 |