[Dwarf-Discuss] .debug_names: Preallocation of DW_IDX_* for static/extern symbols
Tue Jun 13 22:13:40 GMT 2017
> -----Original Message-----
> From: Dwarf-Discuss [mailto:dwarf-discuss-bounces at lists.dwarfstd.org] On
> Behalf Of Jan Kratochvil
> Sent: Tuesday, June 13, 2017 2:23 PM
> To: dwarf-discuss at lists.dwarfstd.org
> Subject: [Dwarf-Discuss] .debug_names: Preallocation of DW_IDX_* for
> static/extern symbols
> When a debugger wants to print 'somename' it logically tries to find first
> 'somename' as an external symbol in all available libraries. Only if none
> such external symbol is found the debugger starts searching for a static
> 'somename' symbol in those libraries.
> This requires to know whether a symbol in .debug_names index has
> DW_AT_external or not. Otherwise a lot of needless CU expansions happen.
> This extension improves performance gain of the .debug_names index.
> Discovered in an original fix by Doug Evans - GDB Bug 14125:
> Proposing and asking for pre-allocation:
> DW_IDX_static = 6 = DW_FORM_flag_present = DIE's DW_AT_external is not
> DW_IDX_external = 7 = DW_FORM_flag_present = DIE's DW_AT_external is
> Is it OK to start using these numbers to be in DWARF-6 or should stay in
> DW_IDX_lo_user..DW_IDX_hi_user range?
There's no guarantee that your proposal would be accepted unmodified.
You should use the lo_user..hi_user range for anything you do now.
> Jan Kratochvil
> Dwarf-Discuss mailing list
> Dwarf-Discuss at lists.dwarfstd.org
More information about the Dwarf-discuss