diff mbox

[09/21] PR jit/63854: Don't leak producer_string in dwarf2out.c

Message ID 1416393981-39626-10-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Nov. 19, 2014, 10:46 a.m. UTC
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(+)

Comments

Richard Biener Nov. 19, 2014, 11:50 a.m. UTC | #1
On Wed, Nov 19, 2014 at 11:46 AM, David Malcolm <dmalcolm@redhat.com> wrote:
> Fix this small per-iteration leak with debuginfo:

Ok.

Thanks,
Richard.

> 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
>
diff mbox

Patch

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"