Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-objcopy / ELF / regex.test
blob7f5683ffa92c6d35e6bb3087710afca99f3e813e
1 # RUN: yaml2obj %s -o %t
3 # No symbol matches, because pattern is implicitly enveloped in '^$'
4 # RUN: llvm-objcopy --discard-all --regex -K 'ba' %t %t2
5 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=REGEX1
7 # Symbol 'bar' matches
8 # RUN: llvm-objcopy --discard-all --regex -K 'ba.*' %t %t3
9 # RUN: llvm-readobj --symbols %t3 | FileCheck %s --check-prefix=REGEX2
11 # All symbols match
12 # RUN: llvm-objcopy --discard-all --regex -K '.*ba.*' %t %t4
13 # RUN: llvm-readobj --symbols %t4 | FileCheck %s --check-prefix=REGEX3
15 # All symbols match
16 # RUN: llvm-objcopy --discard-all --regex -K '^([a-z]+)*ba.*$' %t %t5
17 # RUN: cmp %t4 %t5
19 !ELF
20 FileHeader:
21   Class:           ELFCLASS64
22   Data:            ELFDATA2LSB
23   Type:            ET_REL
24   Machine:         EM_X86_64
25 Sections:
26   - Name:            .text
27     Type:            SHT_PROGBITS
28     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
29     Address:         0x1000
30     AddressAlign:    0x0000000000000010
31     Size:            64
32 Symbols:
33   - Name:     foobaz
34     Type:     STT_FUNC
35     Section:  .text
36     Value:    0x1000
37     Size:     8
38   - Name:     bar
39     Type:     STT_FUNC
40     Section:  .text
41     Value:    0x1008
42     Size:     8
43   - Name:     rebar
44     Type:     STT_FUNC
45     Section:  .text
46     Value:    0x1010
47     Size:     8
49 #REGEX1:     Symbols [
50 #REGEX1-NOT:   Name: foobaz
51 #REGEX1-NOT:   Name: bar
52 #REGEX1-NOT:   Name: rebar
53 #REGEX1:     ]
55 #REGEX2:     Symbols [
56 #REGEX2-NOT:   Name: foobaz
57 #REGEX2:       Name: bar
58 #REGEX2-NOT:   Name: rebar
59 #REGEX2:     ]
61 #REGEX3: Symbols [
62 #REGEX3:   Name: foobaz
63 #REGEX3:   Name: bar
64 #REGEX3:   Name: rebar
65 #REGEX3: ]