mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-14 17:34:41 +00:00
Add a bool to indicate if we should set the "indirect encoding" bit in the Dwarf
information for EH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41852 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
95bb69acbc
commit
ef4a661725
@ -116,6 +116,11 @@ namespace llvm {
|
||||
const char *PersonalityPrefix; // Defaults to ""
|
||||
const char *PersonalitySuffix; // Defaults to ""
|
||||
|
||||
/// NeedsIndirectEncoding - If set, we need to set the indirect encoding bit
|
||||
/// for EH in Dwarf.
|
||||
///
|
||||
bool NeedsIndirectEncoding; // Defaults to false
|
||||
|
||||
/// InlineAsmStart/End - If these are nonempty, they contain a directive to
|
||||
/// emit before and after an inline assembly statement.
|
||||
const char *InlineAsmStart; // Defaults to "#APP\n"
|
||||
|
@ -2789,7 +2789,12 @@ private:
|
||||
if (Personality) {
|
||||
Asm->EmitULEB128Bytes(7);
|
||||
Asm->EOL("Augmentation Size");
|
||||
Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect);
|
||||
|
||||
if (TAI->getNeedsIndirectEncoding())
|
||||
Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect);
|
||||
else
|
||||
Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4);
|
||||
|
||||
Asm->EOL("Personality (pcrel sdata4 indirect)");
|
||||
|
||||
PrintRelDirective();
|
||||
|
@ -40,6 +40,7 @@ TargetAsmInfo::TargetAsmInfo() :
|
||||
FunctionAddrSuffix(""),
|
||||
PersonalityPrefix(""),
|
||||
PersonalitySuffix(""),
|
||||
NeedsIndirectEncoding(false),
|
||||
InlineAsmStart("#APP"),
|
||||
InlineAsmEnd("#NO_APP"),
|
||||
AssemblerDialect(0),
|
||||
|
@ -70,6 +70,7 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) {
|
||||
}
|
||||
PersonalityPrefix = "L";
|
||||
PersonalitySuffix = "$non_lazy_ptr";
|
||||
NeedsIndirectEncoding = true;
|
||||
InlineAsmStart = "# InlineAsm Start";
|
||||
InlineAsmEnd = "# InlineAsm End";
|
||||
SetDirective = "\t.set";
|
||||
|
Loading…
x
Reference in New Issue
Block a user