That doesn't seem possible with the public API or am I mistaking? On Wed, May 7, 2014 at 12:13 AM, Eric Christopher <echristo at gmail.com>wrote:> On Tue, May 6, 2014 at 8:09 PM, Isaiah Norton <isaiah.norton at gmail.com> > wrote: > > Hi, > > > > I am looking for a way to get unmangled subprogram names from a > > DWARFContext. The name I want is available in the attribute `DW_AT_name` > > [1], but as far as I can tell this is only returned as a fallback in > > `DWARFDebugInfoEntryMinimal::getSubroutineName` when the linkage name is > not > > available [2]. > > > > If this is not currently possible, is there any interest in adding such > > access to the public DebugInfo API? Perhaps with an additional > > "UnmangledName" option in `DILineInfoSpecifier`. > > > > Thanks, > > Isaiah > > > > [1]: for example: > > > > 0x0001bb00: DW_TAG_subprogram [2] > > DW_AT_MIPS_linkage_name [DW_FORM_strp] ( > > .debug_str[0x00007934] = "julia_vcat4473") > > DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000913] > > > "vcat") > > > > > > [2] > > > https://github.com/llvm-mirror/llvm/blob/master/lib/DebugInfo/DWARFDebugInfoEntry.cpp#L279-L286 > > > > > > If you just want the DW_AT_name you should be able to iterate over the > DIEs and pull out the DW_AT_name attribute from all of the subprogram > DIEs. Is there some other use that you're looking for? I'm not quite > sure what you're trying to accomplish. > > -eric > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140507/d8720566/attachment.html>
Yeah, public API of DebugInfo library is quite minimalistic. But I agree with Eric - what is the use case for getting unmangled name from DIE? On Tue, May 6, 2014 at 11:21 PM, Keno Fischer <kfischer at college.harvard.edu>wrote:> That doesn't seem possible with the public API or am I mistaking? > > > On Wed, May 7, 2014 at 12:13 AM, Eric Christopher <echristo at gmail.com>wrote: > >> On Tue, May 6, 2014 at 8:09 PM, Isaiah Norton <isaiah.norton at gmail.com> >> wrote: >> > Hi, >> > >> > I am looking for a way to get unmangled subprogram names from a >> > DWARFContext. The name I want is available in the attribute `DW_AT_name` >> > [1], but as far as I can tell this is only returned as a fallback in >> > `DWARFDebugInfoEntryMinimal::getSubroutineName` when the linkage name >> is not >> > available [2]. >> > >> > If this is not currently possible, is there any interest in adding such >> > access to the public DebugInfo API? Perhaps with an additional >> > "UnmangledName" option in `DILineInfoSpecifier`. >> > >> > Thanks, >> > Isaiah >> > >> > [1]: for example: >> > >> > 0x0001bb00: DW_TAG_subprogram [2] >> > DW_AT_MIPS_linkage_name [DW_FORM_strp] ( >> > .debug_str[0x00007934] = "julia_vcat4473") >> > DW_AT_name [DW_FORM_strp] ( >> .debug_str[0x00000913] >> > "vcat") >> > >> > >> > [2] >> > >> https://github.com/llvm-mirror/llvm/blob/master/lib/DebugInfo/DWARFDebugInfoEntry.cpp#L279-L286 >> > >> > >> >> If you just want the DW_AT_name you should be able to iterate over the >> DIEs and pull out the DW_AT_name attribute from all of the subprogram >> DIEs. Is there some other use that you're looking for? I'm not quite >> sure what you're trying to accomplish. >> >> -eric >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- Alexey Samsonov, Mountain View, CA -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140507/004c4a64/attachment.html>
The use case is getting the short name for backtraces. There are other options, but I figured it was worth a shot trying to access from the DWARF structure because what we need is already stored there anyway. Thanks, Isaiah On Wed, May 7, 2014 at 12:24 PM, Alexey Samsonov <samsonov at google.com>wrote:> Yeah, public API of DebugInfo library is quite minimalistic. But I agree > with Eric - what is the use case for getting unmangled name from DIE? > > > On Tue, May 6, 2014 at 11:21 PM, Keno Fischer < > kfischer at college.harvard.edu> wrote: > >> That doesn't seem possible with the public API or am I mistaking? >> >> >> On Wed, May 7, 2014 at 12:13 AM, Eric Christopher <echristo at gmail.com>wrote: >> >>> On Tue, May 6, 2014 at 8:09 PM, Isaiah Norton <isaiah.norton at gmail.com> >>> wrote: >>> > Hi, >>> > >>> > I am looking for a way to get unmangled subprogram names from a >>> > DWARFContext. The name I want is available in the attribute >>> `DW_AT_name` >>> > [1], but as far as I can tell this is only returned as a fallback in >>> > `DWARFDebugInfoEntryMinimal::getSubroutineName` when the linkage name >>> is not >>> > available [2]. >>> > >>> > If this is not currently possible, is there any interest in adding such >>> > access to the public DebugInfo API? Perhaps with an additional >>> > "UnmangledName" option in `DILineInfoSpecifier`. >>> > >>> > Thanks, >>> > Isaiah >>> > >>> > [1]: for example: >>> > >>> > 0x0001bb00: DW_TAG_subprogram [2] >>> > DW_AT_MIPS_linkage_name [DW_FORM_strp] ( >>> > .debug_str[0x00007934] = "julia_vcat4473") >>> > DW_AT_name [DW_FORM_strp] ( >>> .debug_str[0x00000913] >>> > "vcat") >>> > >>> > >>> > [2] >>> > >>> https://github.com/llvm-mirror/llvm/blob/master/lib/DebugInfo/DWARFDebugInfoEntry.cpp#L279-L286 >>> > >>> > >>> >>> If you just want the DW_AT_name you should be able to iterate over the >>> DIEs and pull out the DW_AT_name attribute from all of the subprogram >>> DIEs. Is there some other use that you're looking for? I'm not quite >>> sure what you're trying to accomplish. >>> >>> -eric >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > > -- > Alexey Samsonov, Mountain View, CA > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140507/1bdf9ff1/attachment.html>