Re: GDB and debug fission
David Blaikie via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAENS6EvpmvrBn76rPBmsHxp8UTOuWDkdv2Xwtfg0ck1ca2=_7Q@mail.gmail.com> |
On Thu, Jan 7, 2021 at 5:48 PM Sterling Augustine via Gdb <[email protected]> wrote: > > On Thu, Jan 7, 2021 at 5:25 PM Alexander Yermolovich via Gdb > <[email protected]> wrote: > > > > Hello. > > > > For latest gdb to work with -gsplit-dwarf debug information generated by clang, either in split or single mode does it need gdb_index or pubnames? > > In normal case where debug information is part of executable gdb_index is nice to speed up startup time, and I think I read pubnames is not used, but with debug fission are either gdb_index or pubnames necessary? > > For gdb to work with split-dwarf debug info, it needs a gdb_index. > That can be generated in several ways. Gdb can build one itself--there > is a script somewhere to add a gdb index. Hmm, do you know if that ^ works with split DWARF? I assumed it wouldn't (since I figured it was powered by the same logic that would be used by gdb in the absence of an index). If that does work - we could use that to reduce build overhead & just tell people "when you want to debug, run this script, then use the debugger" (or build it into the debugger, etc) > But it is somewhat easier to have the linker you use generate > gdb_index for you (both gnu-ld and llvm's lld can do this). They do > this by reading the .gnu_pubnames section, so in some way, you need > both pubnames *and* an index. > > So you would ordinarily use the following commands: > > $(CC) $(normal_arguments) -ggnu-pubnames > $(LD) $(normal_arguments) -Wl,--gdb-index