EHFrameInfo.Number));
Asm->OutStreamer.AddComment("FDE CIE offset");
- EmitSectionOffset(Asm->GetTempSymbol("eh_frame_begin", EHFrameInfo.Number),
- Asm->GetTempSymbol("eh_frame_common",
- EHFrameInfo.PersonalityIndex),
- true, true);
+ Asm->EmitLabelDifference(
+ Asm->GetTempSymbol("eh_frame_begin", EHFrameInfo.Number),
+ Asm->GetTempSymbol("eh_frame_common",
+ EHFrameInfo.PersonalityIndex), 4);
MCSymbol *EHFuncBeginSym =
Asm->GetTempSymbol("eh_func_begin", EHFrameInfo.Number);
// number of 16-byte bundles. The first call site is counted relative to
// the start of the procedure fragment.
Asm->OutStreamer.AddComment("Region start");
- EmitSectionOffset(BeginLabel, EHFuncBeginSym, true, true);
+ Asm->EmitLabelDifference(BeginLabel, EHFuncBeginSym, 4);
Asm->OutStreamer.AddComment("Region length");
Asm->EmitLabelDifference(EndLabel, BeginLabel, 4);
if (!S.PadLabel)
Asm->OutStreamer.EmitIntValue(0, 4/*size*/, 0/*addrspace*/);
else
- EmitSectionOffset(S.PadLabel, EHFuncBeginSym, true, true);
+ Asm->EmitLabelDifference(S.PadLabel, EHFuncBeginSym, 4);
// Offset of the first associated action record, relative to the start of
// the action table. This value is biased by 1 (1 indicates the start of
void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
- const MCSymbol *Section,
- bool IsSmall, bool isEH) {
- bool isAbsolute;
- if (isEH)
- isAbsolute = false;
- else
- isAbsolute = MAI->isAbsoluteDebugSectionOffsets();
+ const MCSymbol *Section, bool IsSmall) {
+ bool isAbsolute = MAI->isAbsoluteDebugSectionOffsets();
if (!isAbsolute)
return Asm->EmitLabelDifference(Label, Section,
/// EmitSectionOffset - Emit Label-Section or use a special purpose directive
/// to emit a section offset if the target has one.
void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
- bool IsSmall = false, bool isEH = false);
+ bool IsSmall = false);
/// EmitFrameMoves - Emit frame instructions to describe the layout of the
/// frame.