1 // RUN
: llvm-mc
-filetype
=obj
-triple x86_64-pc-linux-gnu
%s
-o
- | llvm-readobj
-S
--symbols
-r
--expand-relocs | FileCheck
%s
3 .section foo, "aG", @progbits, f1, comdat
4 .section foo, "G", @progbits, f2, comdat
8 // Test that the relocation points to the first section foo.
10 // The first seciton foo has index
6
13 // CHECK-NEXT
: Name
: foo
14 // CHECK-NEXT
: Type
: SHT_PROGBITS
(0x1)
15 // CHECK-NEXT
: Flags
[ (0x202)
16 // CHECK-NEXT
: SHF_ALLOC
(0x2)
17 // CHECK-NEXT
: SHF_GROUP
(0x200)
19 // CHECK-NEXT
: Address
: 0x0
20 // CHECK-NEXT
: Offset
:
21 // CHECK-NEXT
: Size
: 0
22 // CHECK-NEXT
: Link
: 0
23 // CHECK-NEXT
: Info
: 0
24 // CHECK-NEXT
: AddressAlignment
: 1
25 // CHECK-NEXT
: EntrySize
: 0
29 // CHECK-NEXT
: Name
: foo
30 // CHECK-NEXT
: Type
: SHT_PROGBITS
(0x1)
31 // CHECK-NEXT
: Flags
[ (0x200)
32 // CHECK-NEXT
: SHF_GROUP
(0x200)
34 // CHECK-NEXT
: Address
: 0x0
35 // CHECK-NEXT
: Offset
:
36 // CHECK-NEXT
: Size
: 0
37 // CHECK-NEXT
: Link
: 0
38 // CHECK-NEXT
: Info
: 0
39 // CHECK-NEXT
: AddressAlignment
: 1
40 // CHECK-NEXT
: EntrySize
: 0
43 // The relocation points to symbol
3
44 // CHECK
: Relocations
[
45 // CHECK-NEXT
: Section
({{.*}}) .relabar {
46 // CHECK-NEXT
: Relocation
{
47 // CHECK-NEXT
: Offset
: 0x0
48 // CHECK-NEXT
: Type
: R_X86_64_32
(10)
49 // CHECK-NEXT
: Symbol
: foo
(3)
50 // CHECK-NEXT
: Addend
: 0x0
55 // Symbol
3 is section
6
57 // CHECK-NEXT
: Symbol
{
58 // CHECK-NEXT
: Name
: (0)
59 // CHECK-NEXT
: Value
: 0x0
60 // CHECK-NEXT
: Size
: 0
61 // CHECK-NEXT
: Binding
: Local
(0x0)
62 // CHECK-NEXT
: Type
: None
(0x0)
63 // CHECK-NEXT
: Other
: 0
64 // CHECK-NEXT
: Section
: Undefined
(0x0)
66 // CHECK-NEXT
: Symbol
{
67 // CHECK-NEXT
: Name
: f1
68 // CHECK-NEXT
: Value
: 0x0
69 // CHECK-NEXT
: Size
: 0
70 // CHECK-NEXT
: Binding
: Local
(0x0)
71 // CHECK-NEXT
: Type
: None
(0x0)
72 // CHECK-NEXT
: Other
: 0
73 // CHECK-NEXT
: Section
: .group
75 // CHECK-NEXT
: Symbol
{
76 // CHECK-NEXT
: Name
: f2
77 // CHECK-NEXT
: Value
: 0x0
78 // CHECK-NEXT
: Size
: 0
79 // CHECK-NEXT
: Binding
: Local
(0x0)
80 // CHECK-NEXT
: Type
: None
(0x0)
81 // CHECK-NEXT
: Other
: 0
82 // CHECK-NEXT
: Section
: .group
84 // CHECK-NEXT
: Symbol
{
85 // CHECK-NEXT
: Name
: foo
(0)
86 // CHECK-NEXT
: Value
: 0x0
87 // CHECK-NEXT
: Size
: 0
88 // CHECK-NEXT
: Binding
: Local
(0x0)
89 // CHECK-NEXT
: Type
: Section
(0x3)
90 // CHECK-NEXT
: Other
: 0
91 // CHECK-NEXT
: Section
: foo
(0x4)