diff options
| author | Jim Laskey <jlaskey@mac.com> | 2006-06-19 19:49:42 +0000 |
|---|---|---|
| committer | Jim Laskey <jlaskey@mac.com> | 2006-06-19 19:49:42 +0000 |
| commit | 2837e3204fdd31132caf5c317ea8084987ec55a5 (patch) | |
| tree | 1d3282edeb4ef7741056a3ea7372f317f2e8ef81 /llvm/lib | |
| parent | cd58e9d8b917d6ac51a1fa694197ae3ff00ad4bd (diff) | |
| download | bcm5719-llvm-2837e3204fdd31132caf5c317ea8084987ec55a5.tar.gz bcm5719-llvm-2837e3204fdd31132caf5c317ea8084987ec55a5.zip | |
References need to be section relative.
llvm-svn: 28861
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/DwarfWriter.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/DwarfWriter.cpp b/llvm/lib/CodeGen/DwarfWriter.cpp index 61697c634d6..3ca968672c7 100644 --- a/llvm/lib/CodeGen/DwarfWriter.cpp +++ b/llvm/lib/CodeGen/DwarfWriter.cpp @@ -1205,7 +1205,7 @@ DWLabel DwarfWriter::NewString(const std::string &String) { /// AddSourceLine - Add location information to specified debug information /// entry. -void DwarfWriter::AddSourceLine(DIE *Die, CompileUnitDesc *File, unsigned Line) { +void DwarfWriter::AddSourceLine(DIE *Die, CompileUnitDesc *File, unsigned Line){ if (File && Line) { CompileUnit *FileUnit = FindCompileUnit(File); unsigned FileID = FileUnit->getID(); @@ -1598,7 +1598,7 @@ void DwarfWriter::ConstructScope(DebugScope *ParentScope, // Define the Scope debug information entry. DebugScope *Scope = Scopes[j]; // FIXME - Ignore inlined functions for the time being. - if (Scope->getParent()) continue; + if (!Scope->getParent()) continue; DIE *ScopeDie = new DIE(DW_TAG_lexical_block); @@ -2081,6 +2081,7 @@ void DwarfWriter::EmitInitialDebugFrame() { // Start the dwarf frame section. Asm->SwitchToDataSection(DwarfFrameSection, 0); + EmitLabel("frame_common", 0); EmitDifference("frame_common_end", 0, "frame_common_begin", 0); EOL("Length of Common Information Entry"); @@ -2116,7 +2117,8 @@ void DwarfWriter::EmitFunctionDebugFrame() { EmitLabel("frame_begin", SubprogramCount); - EmitReference("section_frame", 0); EOL("FDE CIE offset"); + EmitDifference("frame_common", 0, "section_frame", 0); + EOL("FDE CIE offset"); EmitReference("func_begin", SubprogramCount); EOL("FDE initial location"); EmitDifference("func_end", SubprogramCount, |

