1# RUN: yaml2obj %s -o %t 2 3## Check we are able to strip all symbols and relocatable information at the same time. 4 5# RUN: llvm-objcopy -S %t %t2 6# RUN: llvm-objdump --section-headers %t2 | FileCheck %s 7 8# RUN: llvm-objcopy --strip-all-gnu %t %t2 9# RUN: llvm-objdump --section-headers %t2 | FileCheck %s 10 11# CHECK-NOT: .symtab 12# CHECK-NOT: .rela.text 13 14## Check we are able to strip the particular symbol if we 15## strip the corresponding relocation section at the same time. 16 17# RUN: llvm-objcopy --strip-symbol=bar -R .rela.text %t %t2 18# RUN: llvm-readelf -s -S %t2 | FileCheck %s --check-prefix=STRIPSYM 19 20# STRIPSYM-NOT: bar 21# STRIPSYM-NOT: .rela.text 22 23# RUN: not llvm-objcopy --strip-symbol=bar %t %t2 2>&1 | FileCheck %s --check-prefix=ERR -DINPUT=%t 24# ERR: error: '[[INPUT]]': not stripping symbol 'bar' because it is named in a relocation 25 26--- !ELF 27FileHeader: 28 Class: ELFCLASS64 29 Data: ELFDATA2LSB 30 Type: ET_REL 31 Machine: EM_X86_64 32Sections: 33 - Name: .text 34 Type: SHT_PROGBITS 35 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 36 Content: 00000000 37 - Name: .rela.text 38 Type: SHT_RELA 39 Link: .symtab 40 Info: .text 41 Relocations: 42 - Offset: 0x0000000000000000 43 Symbol: bar 44 Type: R_X86_64_32S 45Symbols: 46 - Name: bar 47 Section: .text 48 Binding: STB_GLOBAL 49