aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86TargetAsmInfo.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-10-30 22:32:30 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-10-30 22:32:30 +0000
commit02b8511364a61b559369d8dc36e82a486f42fec3 (patch)
treebc13784e5ba5e28e5c6345f62cc166baa9b306a0 /lib/Target/X86/X86TargetAsmInfo.cpp
parent6ce644392e0dd182f2eda161b5e69206b58a7c5d (diff)
downloadexternal_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.cpp24
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;