[PATCH] Debug Info on Windows

Carlo Kok ck at remobjects.com
Tue Jul 30 00:40:44 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).

--
Carlo Kok




More information about the llvm-commits mailing list