Skip to content

Commit bed9081

Browse files
author
Kai Luo
committed
Reland [JITLink][PowerPC] Pre-commit test for D158708. NFC.
1 parent e957bbe commit bed9081

File tree

2 files changed

+199
-0
lines changed

2 files changed

+199
-0
lines changed
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
--- !ELF
2+
FileHeader:
3+
Class: ELFCLASS64
4+
Data: ELFDATA2LSB
5+
Type: ET_REL
6+
Machine: EM_PPC64
7+
Flags: [ ]
8+
SectionHeaderStringTable: .strtab
9+
Sections:
10+
- Name: .text
11+
Type: SHT_PROGBITS
12+
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
13+
AddressAlign: 0x10
14+
Content: 00004C3C000042380000623C000063E8000063802000804E00000000000000000000000000000060000000600000006000004C3C00004238A602087CE1FF21F8300001F80100004820002138100001E8A603087C2000804E00000000000000000000000000000060000000600000006000004C3C00004238A602087CE1FF21F8300001F80100004820002138100001E8A603087C2000804E000000000000000000000000
15+
- Name: .text.startup
16+
Type: SHT_PROGBITS
17+
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
18+
AddressAlign: 0x10
19+
Content: 00004C3C000042380000623C00008038000063E8000083902000804E00000000000000000000000000000060000000602000804E000000000000000000000000
20+
- Name: .data
21+
Type: SHT_PROGBITS
22+
Flags: [ SHF_WRITE, SHF_ALLOC ]
23+
AddressAlign: 0x4
24+
Content: '01000000'
25+
- Name: .note.GNU-stack
26+
Type: SHT_PROGBITS
27+
AddressAlign: 0x1
28+
- Name: .toc
29+
Type: SHT_PROGBITS
30+
Flags: [ SHF_WRITE, SHF_ALLOC ]
31+
AddressAlign: 0x8
32+
Content: '0000000000000000'
33+
- Name: .eh_frame
34+
Type: SHT_PROGBITS
35+
Flags: [ SHF_ALLOC ]
36+
AddressAlign: 0x8
37+
Content: 1000000000000000017A5200047841011B0C01001000000018000000000000002800000000000000100000002C0000000000000010000000000000001400000040000000000000003400000000450E2011417E001800000058000000000000003400000000450E2011417E0000000000
38+
- Name: .rela.text
39+
Type: SHT_RELA
40+
Flags: [ SHF_INFO_LINK ]
41+
Link: .symtab
42+
AddressAlign: 0x8
43+
Info: .text
44+
Relocations:
45+
- Symbol: .TOC.
46+
Type: R_PPC64_REL16_HA
47+
- Offset: 0x4
48+
Symbol: .TOC.
49+
Type: R_PPC64_REL16_LO
50+
Addend: 4
51+
- Offset: 0x8
52+
Symbol: .toc
53+
Type: R_PPC64_TOC16_HA
54+
- Offset: 0xC
55+
Symbol: .toc
56+
Type: R_PPC64_TOC16_LO_DS
57+
- Offset: 0x30
58+
Symbol: .TOC.
59+
Type: R_PPC64_REL16_HA
60+
- Offset: 0x34
61+
Symbol: .TOC.
62+
Type: R_PPC64_REL16_LO
63+
Addend: 4
64+
- Offset: 0x44
65+
Symbol: ctor_func
66+
Type: R_PPC64_REL24
67+
- Offset: 0x70
68+
Symbol: .TOC.
69+
Type: R_PPC64_REL16_HA
70+
- Offset: 0x74
71+
Symbol: .TOC.
72+
Type: R_PPC64_REL16_LO
73+
Addend: 4
74+
- Offset: 0x84
75+
Symbol: .text.startup
76+
Type: R_PPC64_REL24
77+
Addend: 48
78+
- Name: .rela.text.startup
79+
Type: SHT_RELA
80+
Flags: [ SHF_INFO_LINK ]
81+
Link: .symtab
82+
AddressAlign: 0x8
83+
Info: .text.startup
84+
Relocations:
85+
- Symbol: .TOC.
86+
Type: R_PPC64_REL16_HA
87+
- Offset: 0x4
88+
Symbol: .TOC.
89+
Type: R_PPC64_REL16_LO
90+
Addend: 4
91+
- Offset: 0x8
92+
Symbol: .toc
93+
Type: R_PPC64_TOC16_HA
94+
- Offset: 0x10
95+
Symbol: .toc
96+
Type: R_PPC64_TOC16_LO_DS
97+
- Name: .rela.toc
98+
Type: SHT_RELA
99+
Flags: [ SHF_INFO_LINK ]
100+
Link: .symtab
101+
AddressAlign: 0x8
102+
Info: .toc
103+
Relocations:
104+
- Symbol: var
105+
Type: R_PPC64_ADDR64
106+
- Name: .rela.eh_frame
107+
Type: SHT_RELA
108+
Flags: [ SHF_INFO_LINK ]
109+
Link: .symtab
110+
AddressAlign: 0x8
111+
Info: .eh_frame
112+
Relocations:
113+
- Offset: 0x1C
114+
Symbol: .text.startup
115+
Type: R_PPC64_REL32
116+
- Offset: 0x30
117+
Symbol: .text.startup
118+
Type: R_PPC64_REL32
119+
Addend: 48
120+
- Offset: 0x44
121+
Symbol: .text
122+
Type: R_PPC64_REL32
123+
Addend: 48
124+
- Offset: 0x5C
125+
Symbol: .text
126+
Type: R_PPC64_REL32
127+
Addend: 112
128+
- Type: SectionHeaderTable
129+
Sections:
130+
- Name: .strtab
131+
- Name: .text
132+
- Name: .rela.text
133+
- Name: .text.startup
134+
- Name: .rela.text.startup
135+
- Name: .data
136+
- Name: .note.GNU-stack
137+
- Name: .toc
138+
- Name: .rela.toc
139+
- Name: .eh_frame
140+
- Name: .rela.eh_frame
141+
- Name: .symtab
142+
Symbols:
143+
- Name: test-global-ctors.ll
144+
Type: STT_FILE
145+
Index: SHN_ABS
146+
- Name: .text
147+
Type: STT_SECTION
148+
Section: .text
149+
- Name: .text.startup
150+
Type: STT_SECTION
151+
Section: .text.startup
152+
- Name: ctor_func
153+
Type: STT_FUNC
154+
Section: .text.startup
155+
Size: 0x28
156+
Other: [ 96 ]
157+
- Name: dtor_func
158+
Type: STT_FUNC
159+
Section: .text.startup
160+
Value: 0x30
161+
Size: 0x10
162+
- Name: .toc
163+
Type: STT_SECTION
164+
Section: .toc
165+
- Name: main
166+
Type: STT_FUNC
167+
Section: .text
168+
Binding: STB_GLOBAL
169+
Size: 0x24
170+
Other: [ 96 ]
171+
- Name: .TOC.
172+
Binding: STB_GLOBAL
173+
- Name: __orc_init_func.test-global-ctors.ll
174+
Type: STT_FUNC
175+
Section: .text
176+
Binding: STB_GLOBAL
177+
Value: 0x30
178+
Size: 0x34
179+
Other: [ STV_HIDDEN, 96 ]
180+
- Name: __orc_deinit_func.test-global-ctors.ll
181+
Type: STT_FUNC
182+
Section: .text
183+
Binding: STB_GLOBAL
184+
Value: 0x70
185+
Size: 0x34
186+
Other: [ STV_HIDDEN, 96 ]
187+
- Name: var
188+
Type: STT_OBJECT
189+
Section: .data
190+
Binding: STB_GLOBAL
191+
Size: 0x4
192+
...
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# REQUIRES: asserts
2+
# RUN: yaml2obj %S/Inputs/rel24-non-zero-addend.yaml -o %t.o
3+
# RUN: not --crash llvm-jitlink -noexec %t.o 2>&1 | FileCheck %s
4+
# CHECK: Addend == 0 && "Addend is expected to be 0 for a function call"
5+
#
6+
# The object is generated from llvm/test/ExecutionEngine/MCJIT/test-global-ctors.ll,
7+
# containing an R_PPC64_REL24 whose addend is not zero.

0 commit comments

Comments
 (0)