blob: 89121e289cc247ca338067b2d710d55d40e90eea [file] [log] [blame]
Rafael Espindola81e05522016-01-27 17:09:37 +00001// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
2// RUN: ld.lld %t -o %t2 -shared --gc-sections
3// RUN: llvm-readobj -t -s -section-data %t2 | FileCheck %s
4// REQUIRES: x86
5
6.global foo
7foo:
8
George Rimar12737b72016-02-25 08:40:26 +00009.section .bar,"a"
Rafael Espindola81e05522016-01-27 17:09:37 +000010zed:
11
12// CHECK: Name: .strtab
13// CHECK-NEXT: Type: SHT_STRTAB
14// CHECK-NEXT: Flags [
15// CHECK-NEXT: ]
16// CHECK-NEXT: Address:
17// CHECK-NEXT: Offset:
18// CHECK-NEXT: Size:
19// CHECK-NEXT: Link:
20// CHECK-NEXT: Info:
21// CHECK-NEXT: AddressAlignment:
22// CHECK-NEXT: EntrySize:
23// CHECK-NEXT: SectionData (
George Rimaraa4dc202016-03-01 16:23:13 +000024// CHECK-NEXT: 0000: 00666F6F 005F4459 4E414D49 4300 |.foo._DYNAMIC.|
Rafael Espindola81e05522016-01-27 17:09:37 +000025// CHECK-NEXT: )
26
27// CHECK: Symbols [
28// CHECK-NEXT: Symbol {
29// CHECK-NEXT: Name: (0)
30// CHECK-NEXT: Value: 0x0
31// CHECK-NEXT: Size: 0
32// CHECK-NEXT: Binding: Local
33// CHECK-NEXT: Type: None
34// CHECK-NEXT: Other: 0
35// CHECK-NEXT: Section: Undefined
36// CHECK-NEXT: }
37// CHECK-NEXT: Symbol {
George Rimaraa4dc202016-03-01 16:23:13 +000038// CHECK-NEXT: Name: _DYNAMIC
39// CHECK-NEXT: Value: 0x1000
40// CHECK-NEXT: Size: 0
41// CHECK-NEXT: Binding: Local
42// CHECK-NEXT: Type: None
Simon Atanasyan628fe402016-03-24 16:30:20 +000043// CHECK-NEXT: Other [ (0x2)
44// CHECK-NEXT: STV_HIDDEN
45// CHECK-NEXT: ]
George Rimaraa4dc202016-03-01 16:23:13 +000046// CHECK-NEXT: Section: .dynamic
47// CHECK-NEXT: }
48// CHECK-NEXT: Symbol {
Rafael Espindola81e05522016-01-27 17:09:37 +000049// CHECK-NEXT: Name: foo
50// CHECK-NEXT: Value:
51// CHECK-NEXT: Size:
52// CHECK-NEXT: Binding: Global
53// CHECK-NEXT: Type: None
54// CHECK-NEXT: Other:
55// CHECK-NEXT: Section: .text
56// CHECK-NEXT: }
57// CHECK-NEXT: ]