Hi All, I just enabled the generation of dwarf debugging information for Hexagon. It did not require much save for the setting of a flag in MCAsmInfo. However, now I see that the ".debug_pubnames" sections is not generated. I did read discussion about the section not really being useful for debuggers in terms of accelerated access, but I have code that uses libdwarf to check for global variables. The particular libdwarf API queries the ".debug_pubnames" This code is no longer functional because my LLVM generated executables do not seem to have the .debug_pubnames sections. From the discussion I did not gather that the sections would be removed completely. Is that the case ? TIA, Pranav Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
On Mar 8, 2012, at 2:29 PM, Pranav Bhandarkar wrote:> Hi All, > > I just enabled the generation of dwarf debugging information for Hexagon. It > did not require much save for the setting of a flag in MCAsmInfo. > > However, now I see that the ".debug_pubnames" sections is not generated. I > did read discussion about the section not really being useful for debuggers > in terms of accelerated access, but I have code that uses libdwarf to check > for global variables. The particular libdwarf API queries the > ".debug_pubnames" This code is no longer functional because my LLVM > generated executables do not seem to have the .debug_pubnames sections. From > the discussion I did not gather that the sections would be removed > completely. Is that the case ?Nope, it's removed completely. No debugger that I know of uses it at all and it's useless for many reasons. Adding the code back in to generate it is possible (it's a fairly small commit that's easily reverted), but I see no reason to have it generated by default. What are you doing that involves looking for global variables in the pubnames section? -eric
Hi Eric,> Nope, it's removed completely. No debugger that I know of uses it at > all and it's > useless for many reasons. Adding the code back in to generate it is > possible (it's > a fairly small commit that's easily reverted), but I see no reason to > have it generated > by default. What are you doing that involves looking for global > variables in the pubnames > section? >Thanks for the information. After I sent out the email, I saw the patch you reverted on viewVC. I have some proprietary code that looks at the debug info in an executable using libdwarf; It queries the debug info on demand with a variable name and uses dwarf_get_globals which, I believe, uses .debug_pubnames. I believe you made only one change to take out support for this section, right ? I will revert that change and give it a go. Thanks, Pranav Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
Reasonably Related Threads
- [LLVMdev] Dwarf info and .debug_pubnames section
- [LLVMdev] Dwarf info and .debug_pubnames section
- [LLVMdev] Parsing dwarf debug info of an GAS assembly file
- [LLVMdev] Parsing dwarf debug info of an GAS assembly file
- [LLVMdev] Restoring "pubnames" section in DWARF