1# RUN: llvm-mc -triple i386-pc-linux-gnu -filetype=obj -o %t %s
2# RUN: llvm-readobj -s -sd < %t | FileCheck %s
3.section test1
4.byte 1
5.section test2
6.byte 2
7.previous
8.byte 1
9.section test2
10.byte 2
11.previous
12.byte 1
13.section test1
14.byte 1
15.previous
16.byte 1
17.section test2
18.byte 2
19.pushsection test3
20.byte 3
21.pushsection test4
22.byte 4
23.pushsection test5
24.byte 5
25.popsection
26.byte 4
27.popsection
28.byte 3
29.popsection
30.byte 2
31.pushsection test3
32.byte 3
33.pushsection test4
34.byte 4
35.previous
36.byte 3
37.popsection
38.byte 3
39.previous
40.byte 2
41.section test1
42.byte 1
43.popsection
44.byte 2
45.previous
46.byte 1
47.previous
48
49# CHECK:      Sections [
50# CHECK:        Section {
51# CHECK:          Name: test1 (68)
52# CHECK-NEXT:     Type: SHT_PROGBITS
53# CHECK-NEXT:     Flags [ (0x0)
54# CHECK-NEXT:     ]
55# CHECK-NEXT:     Address: 0x0
56# CHECK-NEXT:     Offset: 0x34
57# CHECK-NEXT:     Size: 7
58# CHECK-NEXT:     Link: 0
59# CHECK-NEXT:     Info: 0
60# CHECK-NEXT:     AddressAlignment: 1
61# CHECK-NEXT:     EntrySize: 0
62# CHECK-NEXT:     SectionData (
63# CHECK-NEXT:       0000: 01010101 010101
64# CHECK-NEXT:     )
65# CHECK-NEXT:   }
66# CHECK:        Section {
67# CHECK:          Name: test2 (62)
68# CHECK-NEXT:     Type: SHT_PROGBITS
69# CHECK-NEXT:     Flags [ (0x0)
70# CHECK-NEXT:     ]
71# CHECK-NEXT:     Address: 0x0
72# CHECK-NEXT:     Offset: 0x3B
73# CHECK-NEXT:     Size: 6
74# CHECK-NEXT:     Link: 0
75# CHECK-NEXT:     Info: 0
76# CHECK-NEXT:     AddressAlignment: 1
77# CHECK-NEXT:     EntrySize: 0
78# CHECK-NEXT:     SectionData (
79# CHECK-NEXT:       0000: 02020202 0202
80# CHECK-NEXT:     )
81# CHECK-NEXT:   }
82# CHECK:        Section {
83# CHECK:          Name: test3 (56)
84# CHECK-NEXT:     Type: SHT_PROGBITS
85# CHECK-NEXT:     Flags [ (0x0)
86# CHECK-NEXT:     ]
87# CHECK-NEXT:     Address: 0x0
88# CHECK-NEXT:     Offset: 0x41
89# CHECK-NEXT:     Size: 5
90# CHECK-NEXT:     Link: 0
91# CHECK-NEXT:     Info: 0
92# CHECK-NEXT:     AddressAlignment: 1
93# CHECK-NEXT:     EntrySize: 0
94# CHECK-NEXT:     SectionData (
95# CHECK-NEXT:       0000: 03030303 03
96# CHECK-NEXT:     )
97# CHECK-NEXT:   }
98# CHECK:        Section {
99# CHECK:          Name: test4 (50)
100# CHECK-NEXT:     Type: SHT_PROGBITS
101# CHECK-NEXT:     Flags [ (0x0)
102# CHECK-NEXT:     ]
103# CHECK-NEXT:     Address: 0x0
104# CHECK-NEXT:     Offset: 0x46
105# CHECK-NEXT:     Size: 3
106# CHECK-NEXT:     Link: 0
107# CHECK-NEXT:     Info: 0
108# CHECK-NEXT:     AddressAlignment: 1
109# CHECK-NEXT:     EntrySize: 0
110# CHECK-NEXT:     SectionData (
111# CHECK-NEXT:       0000: 040404
112# CHECK-NEXT:     )
113# CHECK-NEXT:   }
114# CHECK:        Section {
115# CHECK:          Name: test5 (44)
116# CHECK-NEXT:     Type: SHT_PROGBITS
117# CHECK-NEXT:     Flags [ (0x0)
118# CHECK-NEXT:     ]
119# CHECK-NEXT:     Address: 0x0
120# CHECK-NEXT:     Offset: 0x49
121# CHECK-NEXT:     Size: 1
122# CHECK-NEXT:     Link: 0
123# CHECK-NEXT:     Info: 0
124# CHECK-NEXT:     AddressAlignment: 1
125# CHECK-NEXT:     EntrySize: 0
126# CHECK-NEXT:     SectionData (
127# CHECK-NEXT:       0000: 05
128# CHECK-NEXT:     )
129# CHECK-NEXT:   }
130