Commit a2fef66
committed
Revert "MCFragment: Use trailing data for fixed-size part"
This reverts commit f1aa605 (reland of #150846),
fixing conflicts.
It caused ClangBuiltLinux/linux#2116 ,
which surfaced after a subsequent commit faa931b decreased sizeof(MCFragment).
```
% /tmp/Debug/bin/clang "-cc1as" "-triple" "aarch64" "-filetype" "obj" "-main-file-name" "a.s" "-o" "a.o" "a.s"
clang: /home/ray/llvm/llvm/lib/MC/MCAssembler.cpp:615: void llvm::MCAssembler::writeSectionData(raw_ostream &, const MCSection *) const: Assertion `getContext().hadError() || OS.tell() - Start == getSectionAddressSize(*Sec)' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /tmp/Debug/bin/clang -cc1as -triple aarch64 -filetype obj -main-file-name a.s -o a.o a.s
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVMSupport.so.22.0git 0x00007cf91eb753cd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 61
fish: Job 1, '/tmp/Debug/bin/clang "-cc1as" "…' terminated by signal SIGABRT (Abort)
```
The test is sensitive to precise fragment offsets. Using llvm-mc
-filetype=obj -triple=aarch64 a.s does not replicate the issue. However,
clang -cc1as includes an unnecessary `initSection` (adding an extra
FT_Align), which causes the problem.1 parent 144cd87 commit a2fef66
File tree
7 files changed
+63
-143
lines changed- llvm
- include/llvm/MC
- lib
- MC
- Target/Mips/MCTargetDesc
- test/MC/ELF
7 files changed
+63
-143
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | 55 | | |
59 | 56 | | |
60 | 57 | | |
| |||
89 | 86 | | |
90 | 87 | | |
91 | 88 | | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | 89 | | |
97 | 90 | | |
98 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
99 | 97 | | |
100 | 98 | | |
101 | 99 | | |
102 | 100 | | |
103 | | - | |
104 | | - | |
| 101 | + | |
105 | 102 | | |
106 | 103 | | |
107 | 104 | | |
108 | 105 | | |
109 | | - | |
110 | 106 | | |
111 | | - | |
112 | | - | |
113 | | - | |
| 107 | + | |
114 | 108 | | |
115 | 109 | | |
116 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
192 | 204 | | |
193 | 205 | | |
194 | 206 | | |
| |||
197 | 209 | | |
198 | 210 | | |
199 | 211 | | |
200 | | - | |
| 212 | + | |
201 | 213 | | |
202 | 214 | | |
203 | | - | |
| 215 | + | |
204 | 216 | | |
205 | 217 | | |
206 | 218 | | |
| |||
615 | 627 | | |
616 | 628 | | |
617 | 629 | | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
618 | 645 | | |
619 | | - | |
| 646 | + | |
| 647 | + | |
620 | 648 | | |
621 | 649 | | |
622 | | - | |
| 650 | + | |
| 651 | + | |
623 | 652 | | |
624 | 653 | | |
625 | 654 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | 49 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
| 50 | + | |
85 | 51 | | |
86 | 52 | | |
87 | 53 | | |
88 | 54 | | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
| 55 | + | |
104 | 56 | | |
105 | | - | |
| 57 | + | |
106 | 58 | | |
107 | 59 | | |
108 | 60 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
| 61 | + | |
114 | 62 | | |
115 | 63 | | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
| 64 | + | |
| 65 | + | |
122 | 66 | | |
123 | 67 | | |
124 | 68 | | |
| |||
171 | 115 | | |
172 | 116 | | |
173 | 117 | | |
174 | | - | |
175 | | - | |
176 | 118 | | |
177 | 119 | | |
178 | 120 | | |
| |||
202 | 144 | | |
203 | 145 | | |
204 | 146 | | |
| 147 | + | |
205 | 148 | | |
206 | 149 | | |
207 | 150 | | |
| |||
216 | 159 | | |
217 | 160 | | |
218 | 161 | | |
219 | | - | |
220 | | - | |
221 | | - | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
222 | 165 | | |
223 | 166 | | |
224 | 167 | | |
| |||
252 | 195 | | |
253 | 196 | | |
254 | 197 | | |
255 | | - | |
| 198 | + | |
256 | 199 | | |
257 | 200 | | |
258 | 201 | | |
| |||
318 | 261 | | |
319 | 262 | | |
320 | 263 | | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | 264 | | |
337 | 265 | | |
338 | 266 | | |
339 | 267 | | |
340 | 268 | | |
341 | 269 | | |
342 | 270 | | |
| 271 | + | |
| 272 | + | |
343 | 273 | | |
344 | 274 | | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | 275 | | |
| 276 | + | |
| 277 | + | |
353 | 278 | | |
354 | 279 | | |
355 | 280 | | |
| |||
420 | 345 | | |
421 | 346 | | |
422 | 347 | | |
423 | | - | |
424 | | - | |
| 348 | + | |
425 | 349 | | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
432 | 353 | | |
433 | 354 | | |
434 | 355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | 321 | | |
325 | 322 | | |
326 | 323 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
282 | | - | |
283 | 282 | | |
284 | 283 | | |
285 | 284 | | |
| |||
293 | 292 | | |
294 | 293 | | |
295 | 294 | | |
296 | | - | |
297 | 295 | | |
298 | 296 | | |
299 | 297 | | |
| |||
309 | 307 | | |
310 | 308 | | |
311 | 309 | | |
312 | | - | |
313 | 310 | | |
314 | 311 | | |
315 | 312 | | |
| |||
320 | 317 | | |
321 | 318 | | |
322 | 319 | | |
323 | | - | |
324 | 320 | | |
325 | 321 | | |
326 | 322 | | |
| |||
331 | 327 | | |
332 | 328 | | |
333 | 329 | | |
334 | | - | |
335 | 330 | | |
336 | 331 | | |
337 | 332 | | |
| |||
0 commit comments