[PATCH] Debug Info on Windows
Robinson, Paul
Paul_Robinson at playstation.sony.com
Tue Jul 30 10:38:14 PDT 2013
> Op 26-7-2013 22:39, Carlo Kok schreef:
> > Op 26-7-2013 21:58, David Blaikie schreef:
> >>>> b) Could we sink this logic down into DIELabel (or
> >>>> DIEString)::EmitValue rather than having the special case up here
> in
> >>>> emitDIE?
> >>>
> >>>
> >>> DIELabel then. DIEString calls DIELabel.
> >>
> >> Great... and sorry to keep iterating like this, but looking now at
> the
> >> only current (committed) use of "needsDwarfSectionOffsetDirective"
> >> that's down in AsmPrinter::EmitSectionOffset, so what would happen if
> >> we pushed this one layer further down, into
> >> AsmPrinter::EmitLabelReference?
> >>
> >> - Dave
> >>
> >
> >
> > The only other thing this would affect is DW_AT_Location:
> > case dwarf::DW_AT_location: {
> > if (DIELabel *L = dyn_cast<DIELabel>(Values[i])) {
> > if (Asm->MAI->doesDwarfUseRelocationsAcrossSections())
> > Asm->EmitLabelReference(L->getValue(), 4);
> > else
> > Asm->EmitLabelDifference(L->getValue(),
> > DwarfDebugLocSectionSym, 4);
> > } else {
> > Values[i]->EmitValue(Asm, Form);
> > }
> > break;
> > }
> >
> >
> > Problem is, I don't know what this would affect.
> >
>
> I can't even get one of the clang testcases to hit this. What would be
> the next step? The last version I sent works on Windows and doesn't
> affect anything else (doesDwarfUseRelocationsAcrossSections is only set
> on Windows/COFF).
Eh? It's set for everything except Darwin, I thought.
For sure it's set for ELF-using targets.
--paulr
>
> --
> Carlo Kok
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list