stabs.c static state
authorAlan Modra <amodra@gmail.com>
Mon, 13 Feb 2023 09:58:41 +0000 (20:28 +1030)
committerAlan Modra <amodra@gmail.com>
Mon, 13 Feb 2023 10:34:09 +0000 (21:04 +1030)
commit24b7e8b18ae6410e0b2445475cd21503a2c38922
tree5b799b222400cef0d4907ff8f78d6d2a2d324d01
parent103357fb75c93ba8195166f65719b03aecce497e
stabs.c static state

Move all the function local static state variables to file scope,
in order to tidy memory on exit and to reinit everything for that
annoying oss-fuzz.  Also fix a couple memory leaks.

* read.h (read_begin, read_end): Declare.
* read.c (read_begin): Call stabs_begin.
(read_end): Call stabs_end.
* stabs.c (stabs_begin, stabs_end): New functions.
(in_dot_func_p): Delete, use current_function_label instead.
(cached_sec): Move from s_stab_generic.
(last_asm_file, file_label_count): Move from generate_asm_file.
(line_label_count, prev_lineno, prev_line_file): Move from
stabs_generate_asm_lineno.
(void_emitted_p): Move from stabs_generate_asm_func.
(endfunc_label_count): Move from stabs_generate_asm_endfunc.
(stabs_generate_asm_lineno): Simplify setting of
prev_line_file.
(stabs_generate_asm_func): Don't leak current_function_label.
(stabs_generate_asm_endfunc): Likewise.
gas/read.c
gas/read.h
gas/stabs.c