mirror of
https://github.com/rui314/mold.git
synced 2024-10-04 08:37:28 +03:00
a7475dd5e3
This is a tough one because .gdb_index, .debug_gnu_pubnames, .debug_gnu_pubtypes and DWARF are underdocumented, and DWARF is complicated even if you have a right documentation. But, I believe I managed to create a correct .gdb_index section. Just like ld.lld, mold's --gdb-index needs all input object files to have been compiled with -ggnu-pubnames. We read symbol names and type names from the sections generated by -ggnu-pubnames. Unlike ld.gold and ld.lld, we do not use an external library to read DWARF debug info records. As always, this feature is implemented with speed in mind. For Clang 15 which is built with -ggnu-pubnames, mold takes ~150 ms to create a ~300 MiB .gdb_index section on a simulated 16-core machine. Fixes https://github.com/rui314/mold/issues/396 |
||
---|---|---|
.. | ||
elf | ||
macho | ||
gentoo-test.sh | ||
Makefile.darwin | ||
Makefile.linux |