Make test more lenient for custom clang version strings
[llvm-project.git] / llvm / test / tools / llvm-objcopy / MachO / add-section-64.test
blob998b7e8386775b98d403bab20f21c66b6c354809
1 ## Show that llvm-objcopy adds a new section into a 64-bit object if
2 ## --add-section is given.
4 # RUN: yaml2obj %s -o %t
5 # RUN: echo -n abcdefg > %t.data
7 ## Case 1: Add a new section into an existing segment.
8 # RUN: llvm-objcopy --add-section __TEXT,__bar=%t.data %t %t.out1
9 # RUN: llvm-readobj --sections --section-data %t.out1 \
10 # RUN:   | FileCheck %s --check-prefixes=COMMON,CASE1
12 ## Case 2: Add a new section into a nonexistent segment.
13 # RUN: llvm-objcopy --add-section __FOO,__bar=%t.data %t %t.out2
14 # RUN: llvm-readobj --sections --section-data %t.out2 \
15 # RUN:   | FileCheck %s --check-prefixes=COMMON,CASE2
16 # RUN: llvm-readobj --sections --section-data %t.out2 \
17 # RUN:   | FileCheck %s --check-prefixes=COMMON,CASE2
19 ## Case 3: Add a new section into an existing segment using /dev/null as an input.
20 # RUN: llvm-objcopy --add-section __TEXT,__bar=/dev/null %t %t.out3
21 # RUN: llvm-readobj --sections --section-data %t.out3 \
22 # RUN:   | FileCheck %s --check-prefixes=COMMON,CASE3
24 --- !mach-o
25 FileHeader:
26   magic:           0xFEEDFACF
27   cputype:         0x01000007
28   cpusubtype:      0x00000003
29   filetype:        0x00000001
30   ncmds:           1
31   sizeofcmds:      152
32   flags:           0x00002000
33   reserved:        0x00000000
34 LoadCommands:
35   - cmd:             LC_SEGMENT_64
36     cmdsize:         152
37     segname:         __TEXT
38     vmaddr:          0
39     vmsize:          4
40     fileoff:         184
41     filesize:        4
42     maxprot:         7
43     initprot:        7
44     nsects:          1
45     flags:           0
46     Sections:
47       - sectname:        __text
48         segname:         __TEXT
49         addr:            0x0000000000000000
50         content:         'AABBCCDD'
51         size:            4
52         offset:          184
53         align:           0
54         reloff:          0x00000000
55         nreloc:          0
56         flags:           0x80000400
57         reserved1:       0x00000000
58         reserved2:       0x00000000
59         reserved3:       0x00000000
61 # COMMON:         Index: 0
62 # COMMON-NEXT:    Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
63 # COMMON-NEXT:    Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
64 # COMMON-NEXT:    Address: 0x0
65 # COMMON-NEXT:    Size: 0x4
66 # COMMON-NEXT:    Offset:
67 # COMMON-NEXT:    Alignment: 0
68 # COMMON-NEXT:    RelocationOffset: 0x0
69 # COMMON-NEXT:    RelocationCount: 0
70 # COMMON-NEXT:    Type: Regular (0x0)
71 # COMMON-NEXT:    Attributes [ (0x800004)
72 # COMMON-NEXT:      PureInstructions (0x800000)
73 # COMMON-NEXT:      SomeInstructions (0x4)
74 # COMMON-NEXT:    ]
75 # COMMON-NEXT:    Reserved1: 0x0
76 # COMMON-NEXT:    Reserved2: 0x0
77 # COMMON-NEXT:    Reserved3: 0x0
78 # COMMON-NEXT:    SectionData (
79 # COMMON-NEXT:      0000: AABBCCDD                             |....|
80 # COMMON-NEXT:    )
82 # COMMON:         Index: 1
83 # COMMON-NEXT:    Name: __bar (5F 5F 62 61 72 00 00 00 00 00 00 00 00 00 00 00)
85 # CASE1-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
86 # CASE1-NEXT:     Address: 0x4
87 # CASE1-NEXT:     Size: 0x7
88 # CASE1-NEXT:     Offset: 268
90 # CASE2:          Segment: __FOO (5F 5F 46 4F 4F 00 00 00 00 00 00 00 00 00 00 00)
91 # CASE2-NEXT:     Address: 0xB8
92 # CASE2-NEXT:     Size: 0x7
93 # CASE2-NEXT:     Offset: 340
95 # CASE3-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
96 # CASE3-NEXT:     Address: 0x4
97 # CASE3-NEXT:     Size: 0x0
98 # CASE3-NEXT:     Offset: 268
100 # COMMON-NEXT:    Alignment: 0
101 # COMMON-NEXT:    RelocationOffset: 0x0
102 # COMMON-NEXT:    RelocationCount: 0
103 # COMMON-NEXT:    Type: Regular (0x0)
104 # COMMON-NEXT:    Attributes [ (0x0)
105 # COMMON-NEXT:    ]
106 # COMMON-NEXT:    Reserved1: 0x0
107 # COMMON-NEXT:    Reserved2: 0x0
108 # COMMON-NEXT:    Reserved3: 0x0
110 # CASE1-NEXT:     SectionData (
111 # CASE1-NEXT:       0000: 61626364 656667                      |abcdefg|
112 # CASE1-NEXT:     )
114 # CASE2-NEXT:     SectionData (
115 # CASE2-NEXT:       0000: 61626364 656667                      |abcdefg|
116 # CASE2-NEXT:     )
118 # CASE3-NEXT:     SectionData (
119 # CASE3-NEXT:     )