Fix this small per-iteration leak with debuginfo:
424 bytes in 4 blocks are definitely lost in loss record 185 of 230
at 0x4A0645D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x5D75CA7: xmalloc (xmalloc.c:147)
by 0x4ECE9E4: gen_producer_string() (dwarf2out.c:19489)
by 0x4EDB2C8: dwarf2out_finish(char const*) (dwarf2out.c:24257)
by 0x532AD3B: compile_file() (toplev.c:623)
by 0x532D9E1: do_compile() (toplev.c:2020)
by 0x532DC54: toplev::main(int, char**) (toplev.c:2117)
by 0x4DE766F: gcc::jit::playback::context::compile() (jit-playback.c:1615)
by 0x4DD76DA: gcc::jit::recording::context::compile() (jit-recording.c:861)
by 0x4DD5BD2: gcc_jit_context_compile (libgccjit.c:2014)
by 0x401CA4: test_jit (harness.h:190)
by 0x401D88: main (harness.h:232)
gcc/ChangeLog:
PR jit/63854
* dwarf2out.c (dwarf2out_c_finalize): Free producer_string.
---
gcc/dwarf2out.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index b16883f..9069f9a 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -24741,6 +24741,8 @@ dwarf2out_c_finalize (void)
frame_pointer_fb_offset = 0;
frame_pointer_fb_offset_valid = false;
base_types.release ();
+ XDELETEVEC (producer_string);
+ producer_string = NULL;
}
#include "gt-dwarf2out.h"
--
1.8.5.3