rddbg.c stabs FIXMEs
authorAlan Modra <amodra@gmail.com>
Fri, 31 Mar 2023 03:06:16 +0000 (13:36 +1030)
committerAlan Modra <amodra@gmail.com>
Sun, 2 Apr 2023 21:59:35 +0000 (07:29 +0930)
commita6336913332303c45608d77b731bee5c3a3095e0
tree242a75f53aeb5eafb0122f70107574ad3c178929
parent31991eaaeee55fbf077e5c7ed1bc5deece050933
rddbg.c stabs FIXMEs

This should sort out some very old FIXMEs in code handling stabs
debug info.  Necessary if we are to fuss over freeing up memory before
objdump and objcopy exit.  It is of course better from a user
viewpoint to *not* free memory, which takes some time, and leave that
to process exit.  The only reason to do so is that having many memory
leaks in binutils/ code tends to hide leaks in bfd/ or opcodes/, which
we should care about.

* budbg.h (parse_stab): Update prototype.
* debug.h (debug_start_source): Update prototype.
* debug.c (debug_start_source): Add name_used.  Set if stashed.
* rddbg.c (read_symbol_stabs_debugging_info): Always malloc
stab string passed to parse_stab.  Free stab string when
unreferenced.
(read_section_stabs_debugging_info): Likewise, and strings
section contents.
* stabs.c (parse_stab): Add string_used param.  Set if string
stashed.  Pass to debug_start_source.  Realloc file_types
array rather that using malloc.  Clarify comment about
debug_make_indirect_type.
binutils/budbg.h
binutils/debug.c
binutils/debug.h
binutils/rddbg.c
binutils/stabs.c