References need to be section relative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Laskey 2006-06-19 19:49:42 +00:00
parent b21495043e
commit d16f2a7326

View File

@ -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,