Issue |
95345
|
Summary |
[BOLT] BinaryEmitter.cpp calls emitLabel twice on the same symbol
|
Labels |
BOLT
|
Assignees |
|
Reporter |
MaskRay
|
`MCObjectStreamer::emitLabel` is not expected to be called more than once on the same symbol.
However, bolt/lib/Core/BinaryEmitter.cpp:emitFunctionBody may do so for two/three runtime tests
* runtime/X86/exceptions-pic.test
* runtime/X86/pie-exceptions-failed-split.test
Reproduce:
`git revert -n 90a23d3a5a843086124c4b9315ee6a7617965623` then run `ninja check-bolt`.
```
first: BF = (llvm::bolt::BinaryFunction *) 0x5594035c9aa8; FF= (llvm::bolt::FunctionFragment *) 0x7f0d4801c340
BinaryContext.cpp:2405 (in calculateEmittedSize)
BinaryEmitter.cpp:1217 (in emitFunctionBody)
BinaryEmitter.cpp:450 (in emitFunctionBody)
MCELFStreamer.cpp:103 (in emitLabel)
second: BF = (llvm::bolt::BinaryFunction *) 0x5594035c9aa8; FF= (llvm::bolt::FunctionFragment *) 0x7f0d4801c340
BinaryEmitter.cpp:266 (in emitFunctions)
BinaryEmitter.cpp:386 (in emitFunction)
BinaryEmitter.cpp:450 (in emitFunctionBody)
MCELFStreamer.cpp:103 (in emitLabel)
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs