aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/DwarfWriter.h64
-rw-r--r--lib/CodeGen/DwarfWriter.cpp72
-rw-r--r--lib/Target/PowerPC/PPCAsmPrinter.cpp14
3 files changed, 147 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h
index 78b024c38b..2745f69cc8 100644
--- a/include/llvm/CodeGen/DwarfWriter.h
+++ b/include/llvm/CodeGen/DwarfWriter.h
@@ -744,6 +744,38 @@ namespace llvm {
///
const char *DwarfLineSection; /// Defaults to ".debug_line".
+ /// DwarfFrameSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfFrameSection; /// Defaults to ".debug_frame".
+
+ /// DwarfPubNamesSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfPubNamesSection; /// Defaults to ".debug_pubnames".
+
+ /// DwarfPubTypesSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfPubTypesSection; /// Defaults to ".debug_pubtypes".
+
+ /// DwarfStrSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfStrSection; /// Defaults to ".debug_str".
+
+ /// DwarfLocSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfLocSection; /// Defaults to ".debug_loc".
+
+ /// DwarfARangesSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfARangesSection; /// Defaults to ".debug_aranges".
+
+ /// DwarfRangesSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfRangesSection; /// Defaults to ".debug_ranges".
+
+ /// DwarfMacInfoSection - Section directive for Dwarf info.
+ ///
+ const char *DwarfMacInfoSection; /// Defaults to ".debug_macinfo".
+
/// TextSection - Section directive for standard text.
///
const char *TextSection; /// Defaults to ".text".
@@ -877,6 +909,38 @@ private:
///
void EmitDebugLines() const;
+ /// EmitDebugFrame - Emit info into a debug frame section.
+ ///
+ void DwarfWriter::EmitDebugFrame();
+
+ /// EmitDebugPubNames - Emit info into a debug pubnames section.
+ ///
+ void DwarfWriter::EmitDebugPubNames();
+
+ /// EmitDebugPubTypes - Emit info into a debug pubtypes section.
+ ///
+ void DwarfWriter::EmitDebugPubTypes();
+
+ /// EmitDebugStr - Emit info into a debug str section.
+ ///
+ void DwarfWriter::EmitDebugStr();
+
+ /// EmitDebugLoc - Emit info into a debug loc section.
+ ///
+ void DwarfWriter::EmitDebugLoc();
+
+ /// EmitDebugARanges - Emit info into a debug aranges section.
+ ///
+ void DwarfWriter::EmitDebugARanges();
+
+ /// EmitDebugRanges - Emit info into a debug ranges section.
+ ///
+ void DwarfWriter::EmitDebugRanges();
+
+ /// EmitDebugMacInfo - Emit info into a debug macinfo section.
+ ///
+ void DwarfWriter::EmitDebugMacInfo();
+
/// ShouldEmitDwarf - Returns true if Dwarf declarations should be made.
/// When called it also checks to see if debug info is newly available. if
/// so the initial Dwarf headers are emitted.
diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp
index 67a6464e16..65b83bfedf 100644
--- a/lib/CodeGen/DwarfWriter.cpp
+++ b/lib/CodeGen/DwarfWriter.cpp
@@ -1293,6 +1293,46 @@ void DwarfWriter::EmitDebugLines() const {
EmitLabel("line_end", 0);
}
+
+/// EmitDebugFrame - Emit visible names into a debug frame section.
+///
+void DwarfWriter::EmitDebugFrame() {
+}
+
+/// EmitDebugPubNames - Emit visible names into a debug pubnames section.
+///
+void DwarfWriter::EmitDebugPubNames() {
+}
+
+/// EmitDebugPubTypes - Emit visible names into a debug pubtypes section.
+///
+void DwarfWriter::EmitDebugPubTypes() {
+}
+
+/// EmitDebugStr - Emit visible names into a debug str section.
+///
+void DwarfWriter::EmitDebugStr() {
+}
+
+/// EmitDebugLoc - Emit visible names into a debug loc section.
+///
+void DwarfWriter::EmitDebugLoc() {
+}
+
+/// EmitDebugARanges - Emit visible names into a debug aranges section.
+///
+void DwarfWriter::EmitDebugARanges() {
+}
+
+/// EmitDebugRanges - Emit visible names into a debug ranges section.
+///
+void DwarfWriter::EmitDebugRanges() {
+}
+
+/// EmitDebugMacInfo - Emit visible names into a debug macinfo section.
+///
+void DwarfWriter::EmitDebugMacInfo() {
+}
/// ShouldEmitDwarf - Determine if Dwarf declarations should be made.
///
@@ -1329,6 +1369,14 @@ bool DwarfWriter::ShouldEmitDwarf() {
, DwarfAbbrevSection(".debug_abbrev")
, DwarfInfoSection(".debug_info")
, DwarfLineSection(".debug_line")
+ , DwarfFrameSection(".debug_frame")
+ , DwarfPubNamesSection(".debug_pubnames")
+ , DwarfPubTypesSection(".debug_pubtypes")
+ , DwarfStrSection(".debug_str")
+ , DwarfLocSection(".debug_loc")
+ , DwarfARangesSection(".debug_aranges")
+ , DwarfRangesSection(".debug_ranges")
+ , DwarfMacInfoSection(".debug_macinfo")
, TextSection(".text")
, DataSection(".data")
{}
@@ -1377,6 +1425,30 @@ void DwarfWriter::EndModule() {
// Emit source line correspondence into a debug line section.
EmitDebugLines();
+
+ // Emit info into a debug frame section.
+ EmitDebugFrame();
+
+ // Emit info into a debug pubnames section.
+ EmitDebugPubNames();
+
+ // Emit info into a debug pubtypes section.
+ EmitDebugPubTypes();
+
+ // Emit info into a debug str section.
+ EmitDebugStr();
+
+ // Emit info into a debug loc section.
+ EmitDebugLoc();
+
+ // Emit info into a debug aranges section.
+ EmitDebugARanges();
+
+ // Emit info into a debug ranges section.
+ EmitDebugRanges();
+
+ // Emit info into a debug macinfo section.
+ EmitDebugMacInfo();
}
/// BeginFunction - Emit pre-function debug information.
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 55f54c4bae..c1285ae207 100644
--- a/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -215,9 +215,17 @@ namespace {
: DwarfWriter(o, ap)
{
needsSet = true;
- DwarfAbbrevSection = ".section __DWARF,__debug_abbrev,regular,debug";
- DwarfInfoSection = ".section __DWARF,__debug_info,regular,debug";
- DwarfLineSection = ".section __DWARF,__debug_line,regular,debug";
+ DwarfAbbrevSection = ".section __DWARFA,__debug_abbrev,regular,debug";
+ DwarfInfoSection = ".section __DWARFA,__debug_info,regular,debug";
+ DwarfLineSection = ".section __DWARFA,__debug_line,regular,debug";
+ DwarfFrameSection = ".section __DWARFA,__debug_frame,regular,debug";
+ DwarfPubNamesSection = ".section __DWARFA,__debug_pubnames,regular,debug";
+ DwarfPubTypesSection = ".section __DWARFA,__debug_pubtypes,regular,debug";
+ DwarfStrSection = ".section __DWARFA,__debug_str,regular,debug";
+ DwarfLocSection = ".section __DWARFA,__debug_loc,regular,debug";
+ DwarfARangesSection = ".section __DWARFA,__debug_aranges,regular,debug";
+ DwarfRangesSection = ".section __DWARFA,__debug_ranges,regular,debug";
+ DwarfMacInfoSection = ".section __DWARFA,__debug_macinfo,regular,debug";
TextSection = ".text";
DataSection = ".data";
}