1# REQUIRES: zlib, x86
2
3# RUN: llvm-mc -compress-debug-sections=zlib -filetype=obj -triple=x86_64-unknown-linux %s -o %t
4# RUN: llvm-readobj --sections %t | FileCheck -check-prefix=ZLIB %s
5# ZLIB:      Section {
6# ZLIB:        Index: 2
7# ZLIB:        Name: .debug_str
8# ZLIB-NEXT:   Type: SHT_PROGBITS
9# ZLIB-NEXT:   Flags [
10# ZLIB-NEXT:     SHF_COMPRESSED (0x800)
11# ZLIB-NEXT:     SHF_MERGE (0x10)
12# ZLIB-NEXT:     SHF_STRINGS (0x20)
13# ZLIB-NEXT:   ]
14# ZLIB-NEXT:   Address:
15# ZLIB-NEXT:   Offset:
16# ZLIB-NEXT:   Size:
17# ZLIB-NEXT:   Link:
18# ZLIB-NEXT:   Info:
19# ZLIB-NEXT:   AddressAlignment: 8
20# ZLIB-NEXT:   EntrySize: 1
21# ZLIB-NEXT: }
22
23# RUN: llvm-mc -compress-debug-sections=zlib-gnu -filetype=obj -triple=x86_64-unknown-linux %s -o %t2
24# RUN: llvm-readobj --sections %t2 | FileCheck -check-prefix=GNU %s
25# GNU:      Section {
26# GNU:        Index: 2
27# GNU:        Name: .zdebug_str
28# GNU-NEXT:   Type: SHT_PROGBITS
29# GNU-NEXT:   Flags [
30# GNU-NEXT:     SHF_MERGE (0x10)
31# GNU-NEXT:     SHF_STRINGS (0x20)
32# GNU-NEXT:   ]
33# GNU-NEXT:   Address:
34# GNU-NEXT:   Offset:
35# GNU-NEXT:   Size:
36# GNU-NEXT:   Link:
37# GNU-NEXT:   Info:
38# GNU-NEXT:   AddressAlignment: 1
39# GNU-NEXT:   EntrySize: 1
40# GNU-NEXT: }
41
42# RUN: ld.lld --hash-style=sysv %t -o %t.so -shared
43# RUN: llvm-readobj --sections --section-data %t.so | FileCheck -check-prefix=DATA %s
44
45# RUN: ld.lld --hash-style=sysv %t2 -o %t2.so -shared
46# RUN: llvm-readobj --sections --section-data %t2.so | FileCheck -check-prefix=DATA %s
47
48# DATA:      Section {
49# DATA:        Index: 6
50# DATA:        Name: .debug_str
51# DATA-NEXT:   Type: SHT_PROGBITS
52# DATA-NEXT:   Flags [
53# DATA-NEXT:     SHF_MERGE (0x10)
54# DATA-NEXT:     SHF_STRINGS (0x20)
55# DATA-NEXT:   ]
56# DATA-NEXT:   Address: 0x0
57# DATA-NEXT:   Offset:
58# DATA-NEXT:   Size: 69
59# DATA-NEXT:   Link: 0
60# DATA-NEXT:   Info: 0
61# DATA-NEXT:   AddressAlignment: 1
62# DATA-NEXT:   EntrySize: 1
63# DATA-NEXT:   SectionData (
64# DATA-NEXT:     0000: 6C6F6E67 20756E73 69676E65 6420696E  |long unsigned in|
65# DATA-NEXT:     0010: 7400756E 7369676E 65642063 68617200  |t.unsigned char.|
66# DATA-NEXT:     0020: 756E7369 676E6564 20696E74 00636861  |unsigned int.cha|
67# DATA-NEXT:     0030: 72007368 6F727420 756E7369 676E6564  |r.short unsigned|
68# DATA-NEXT:     0040: 20696E74 00                          | int.|
69# DATA-NEXT:   )
70# DATA-NEXT: }
71
72.section .debug_str,"MS",@progbits,1
73.LASF2:
74 .string "short unsigned int"
75.LASF3:
76 .string "unsigned int"
77.LASF0:
78 .string "long unsigned int"
79.LASF8:
80 .string "char"
81.LASF1:
82 .string "unsigned char"
83