mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-06 12:04:48 +00:00
Produce the EH_frame# symbols if needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130378 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a8cfb87fa2
commit
514cecc72b
@ -494,9 +494,10 @@ static const MachineLocation TranslateMachineLocation(
|
||||
namespace {
|
||||
class FrameEmitterImpl {
|
||||
int CFAOffset;
|
||||
int CIENum;
|
||||
|
||||
public:
|
||||
FrameEmitterImpl() : CFAOffset(0) {
|
||||
FrameEmitterImpl() : CFAOffset(0), CIENum(0) {
|
||||
}
|
||||
|
||||
const MCSymbol &EmitCIE(MCStreamer &streamer,
|
||||
@ -623,7 +624,15 @@ const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer,
|
||||
const TargetAsmInfo &asmInfo = context.getTargetAsmInfo();
|
||||
const MCSection §ion = *asmInfo.getEHFrameSection();
|
||||
streamer.SwitchSection(§ion);
|
||||
MCSymbol *sectionStart = context.CreateTempSymbol();
|
||||
|
||||
MCSymbol *sectionStart;
|
||||
if (asmInfo.isFunctionEHFrameSymbolPrivate())
|
||||
sectionStart = context.CreateTempSymbol();
|
||||
else
|
||||
sectionStart = context.GetOrCreateSymbol(Twine("EH_frame") + Twine(CIENum));
|
||||
|
||||
CIENum++;
|
||||
|
||||
MCSymbol *sectionEnd = streamer.getContext().CreateTempSymbol();
|
||||
|
||||
// Length
|
||||
|
Loading…
Reference in New Issue
Block a user