# 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 !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: 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 # SECTIONS: Name: .rel.text # SECTIONS: Link # SECTIONS-SAME: : 0