diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-10-30 22:32:30 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-10-30 22:32:30 +0000 |
commit | 02b8511364a61b559369d8dc36e82a486f42fec3 (patch) | |
tree | bc13784e5ba5e28e5c6345f62cc166baa9b306a0 /lib/Target/X86/X86TargetAsmInfo.cpp | |
parent | 6ce644392e0dd182f2eda161b5e69206b58a7c5d (diff) | |
download | external_llvm-02b8511364a61b559369d8dc36e82a486f42fec3.zip external_llvm-02b8511364a61b559369d8dc36e82a486f42fec3.tar.gz external_llvm-02b8511364a61b559369d8dc36e82a486f42fec3.tar.bz2 |
Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4
generated object modules to be debugged with gdb. Hopefully this helps
pre-release debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86TargetAsmInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86TargetAsmInfo.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index e677737..93596c0 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/lib/Target/X86/X86TargetAsmInfo.cpp @@ -60,6 +60,30 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) { DwarfRangesSection = ".section __DWARF,__debug_ranges,regular,debug"; DwarfMacInfoSection = ".section __DWARF,__debug_macinfo,regular,debug"; break; + + case X86Subtarget::isELF: + // Set up DWARF directives + HasLEB128 = true; // Target asm supports leb128 directives (little-endian) + // bool HasLEB128; // Defaults to false. + // hasDotLoc - True if target asm supports .loc directives. + // bool HasDotLoc; // Defaults to false. + // HasDotFile - True if target asm supports .file directives. + // bool HasDotFile; // Defaults to false. + PrivateGlobalPrefix = "."; // Prefix for private global symbols + DwarfRequiresFrameSection = false; + DwarfAbbrevSection = "\t.section\t.debug_abbrev,\"\",@progbits"; + DwarfInfoSection = "\t.section\t.debug_info,\"\",@progbits"; + DwarfLineSection = "\t.section\t.debug_line,\"\",@progbits"; + DwarfFrameSection = "\t.section\t.debug_frame,\"\",@progbits"; + DwarfPubNamesSection ="\t.section\t.debug_pubnames,\"\",@progbits"; + DwarfPubTypesSection ="\t.section\t.debug_pubtypes,\"\",@progbits"; + DwarfStrSection = "\t.section\t.debug_str,\"\",@progbits"; + DwarfLocSection = "\t.section\t.debug_loc,\"\",@progbits"; + DwarfARangesSection = "\t.section\t.debug_aranges,\"\",@progbits"; + DwarfRangesSection = "\t.section\t.debug_ranges,\"\",@progbits"; + DwarfMacInfoSection = "\t.section\t.debug_macinfo,\"\",@progbits"; + break; + case X86Subtarget::isCygwin: GlobalPrefix = "_"; COMMDirectiveTakesAlignment = false; |