# RUN: yaml2obj %s -o %t # No symbol matches, because pattern is implicitly enveloped in '^$' # RUN: llvm-objcopy --discard-all --regex -K 'ba' %t %t2 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=REGEX1 # Symbol 'bar' matches # RUN: llvm-objcopy --discard-all --regex -K 'ba.*' %t %t3 # RUN: llvm-readobj --symbols %t3 | FileCheck %s --check-prefix=REGEX2 # All symbols match # RUN: llvm-objcopy --discard-all --regex -K '.*ba.*' %t %t4 # RUN: llvm-readobj --symbols %t4 | FileCheck %s --check-prefix=REGEX3 # All symbols match # RUN: llvm-objcopy --discard-all --regex -K '^([a-z]+)*ba.*$' %t %t5 # RUN: cmp %t4 %t5 !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 Size: 64 Symbols: - Name: foobaz Type: STT_FUNC Section: .text Value: 0x1000 Size: 8 - Name: bar Type: STT_FUNC Section: .text Value: 0x1008 Size: 8 - Name: rebar Type: STT_FUNC Section: .text Value: 0x1010 Size: 8 #REGEX1: Symbols [ #REGEX1-NOT: Name: foobaz #REGEX1-NOT: Name: bar #REGEX1-NOT: Name: rebar #REGEX1: ] #REGEX2: Symbols [ #REGEX2-NOT: Name: foobaz #REGEX2: Name: bar #REGEX2-NOT: Name: rebar #REGEX2: ] #REGEX3: Symbols [ #REGEX3: Name: foobaz #REGEX3: Name: bar #REGEX3: Name: rebar #REGEX3: ]