diff options
-rw-r--r-- | lib/CodeGen/DwarfWriter.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetAsmInfo.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp index e157e58bd4..9d54d42960 100644 --- a/lib/CodeGen/DwarfWriter.cpp +++ b/lib/CodeGen/DwarfWriter.cpp @@ -1041,7 +1041,7 @@ public: Asm->EOL("Offset"); } else if (Reg < 64) { Asm->EmitInt8(DW_CFA_offset + Reg); - Asm->EOL("DW_CFA_offset + Reg"); + Asm->EOL("DW_CFA_offset + Reg (" + utostr(Reg) + ")"); Asm->EmitULEB128Bytes(Offset); Asm->EOL("Offset"); } else { diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index 4bb854efe9..79df32b565 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/lib/Target/X86/X86TargetAsmInfo.cpp @@ -110,8 +110,9 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) { // Set up DWARF directives HasLEB128 = true; // Target asm supports leb128 directives (little-endian) + + // Debug Information AbsoluteDebugSectionOffsets = true; - AbsoluteEHSectionOffsets = false; SupportsDebugInformation = true; DwarfAbbrevSection = "\t.section\t.debug_abbrev,\"\",@progbits"; DwarfInfoSection = "\t.section\t.debug_info,\"\",@progbits"; @@ -125,8 +126,10 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) { DwarfRangesSection = "\t.section\t.debug_ranges,\"\",@progbits"; DwarfMacInfoSection = "\t.section\t.debug_macinfo,\"\",@progbits"; + // Exceptions handling if (!Subtarget->is64Bit()) SupportsExceptionHandling = true; + AbsoluteEHSectionOffsets = false; DwarfEHFrameSection = "\t.section\t.eh_frame,\"aw\",@progbits"; DwarfExceptionSection = "\t.section\t.gcc_except_table,\"a\",@progbits"; break; |