From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 310D73858407 for ; Fri, 17 Dec 2021 23:23:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 310D73858407 Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-36-zPYwkWimMPyKp-46JPGPDA-1; Fri, 17 Dec 2021 18:23:00 -0500 X-MC-Unique: zPYwkWimMPyKp-46JPGPDA-1 Received: by mail-qt1-f198.google.com with SMTP id g2-20020ac87d02000000b002b277218d03so3826937qtb.16 for ; Fri, 17 Dec 2021 15:23:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Sd9qdPhwLtjpBjR7t7IvuftfbVsc9npFHuoy/umuISQ=; b=BMYu+GMtYy39Ewog8ObKe7ReWmEcZMWOpRIanoKJVVDaKeHhVn0mmXeo3B83N29kjF T/vqAyruw72Eows4oiUYmSwyoYOE3RWJZsAs0l30h4PDfo3qbHVaYySM9OIr4fn0QorM UMMHsPISKtz9extYa4FjQZVeNcP488JsicNFZ9+rr5HN8/y31erq/+0wyPU3akmh1HV3 duuIVSZJwtVYuonpSVplxJmET7/XHuRuNb7j7tNcpsYxAA5X7nV1PUKI0KhH4bVTnZ68 0BkzwyY9pRiwaOF8Nwxpw+hyWFSVSOg+1lnr0lOV9SIKVFYYcbDjT8p5NddRZEFVay0Z YIIw== X-Gm-Message-State: AOAM533QBiwffb66bWCjpSW6O2YTFk9i4CRSqs3AO+00dCf1K6lc7wsR 021zPFsG3qqyvevDaMkIA3cqbFBAG6DHYQt21fm0yjED3ryAbs2mFeeAgIt5JjacBtkAXGQ77gI LHVt06Y8= X-Received: by 2002:ad4:59c5:: with SMTP id el5mr4242030qvb.65.1639783379353; Fri, 17 Dec 2021 15:22:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJygg19JzYpNoOhmuxkVf3+Y1C7FRKBo1PYgPTdgzchkRhKk6MA39oaxmtmZQtY/HkFyni078Q== X-Received: by 2002:ad4:59c5:: with SMTP id el5mr4242012qvb.65.1639783378851; Fri, 17 Dec 2021 15:22:58 -0800 (PST) Received: from t14s.localdomain (c-73-69-212-193.hsd1.ma.comcast.net. [73.69.212.193]) by smtp.gmail.com with ESMTPSA id c7sm8407076qtc.32.2021.12.17.15.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 15:22:58 -0800 (PST) Message-ID: Subject: Re: Memory leaks (detected by Valgrind) From: David Malcolm To: Alex Coplan , Marc =?ISO-8859-1?Q?Nieper-Wi=DFkirchen?= , Mark Wielaard Cc: "jit@gcc.gnu.org" Date: Fri, 17 Dec 2021 18:22:56 -0500 In-Reply-To: References: User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, BODY_8BITS, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: jit@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Jit mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Dec 2021 23:23:09 -0000 On Fri, 2021-12-17 at 10:52 +0000, Alex Coplan via Jit wrote: > Hi, > > > -----Original Message----- > > From: Jit On Behalf > > Of Marc > > Nieper-Wißkirchen via Jit > > Sent: 17 December 2021 10:29 > > To: Mark Wielaard > > Cc: Marc Nieper-Wißkirchen ; > > jit@gcc.gnu.org > > Subject: Re: Memory leaks (detected by Valgrind) > > > > Thanks! > > > > With `--enable-valgrind-annotations`, the "uses of uninitialized > > values" > > have gone away, but a lot of small leaks are still present: > > Memory leaks with libgccjit are a known issue, see > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63854 FWIW, it looks like all of the remaining leaks are in gcc.c (the "driver" code, for the "gcc" binary). IIRC most of this relates to long-standing code that was written with the assumption that it will only be run once and not persist in memory, and so it tends to mix up string literals and dynamically-allocated strings without bothering to free them (the pointer values persist to the end of "main" when run from gcc, but get cleared when run from libgccjit.so). Patches to clean these up would be great. That said, I'm not the driver/gcc.c maintainer, so I can't formally approve them (but can post +1 emails if they look good to me) [1] Dave [1] also, I'm on vacation, so sorry in advance for any slow responses to email. > > Thanks, > Alex > > > > > ==470150== Memcheck, a memory error detector > > ==470150== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward > > et > > al. > > ==470150== Using Valgrind-3.17.0 and LibVEX; rerun with -h for > > copyright > > info > > ==470150== Command: ./a.out > > ==470150== > > ==470150== > > ==470150== HEAP SUMMARY: > > ==470150==     in use at exit: 1,485,998 bytes in 1,172 blocks > > ==470150==   total heap usage: 5,358 allocs, 4,186 frees, 2,898,194 > > bytes > > allocated > > ==470150== > > ==470150== 9 bytes in 1 blocks are definitely lost in loss record 6 > > of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B9536C: set_multilib_dir (gcc.c:9850) > > ==470150==    by 0x4B9536C: driver::set_up_specs() const > > (gcc.c:8546) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== 12 bytes in 1 blocks are definitely lost in loss record > > 7 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DDDE03: make_relative_prefix_1 > > (make-relative-prefix.c:377) > > ==470150==    by 0x4B8BCAA: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:4731) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 16 bytes in 1 blocks are definitely lost in loss record > > 12 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DDDE03: make_relative_prefix_1 > > (make-relative-prefix.c:377) > > ==470150==    by 0x4B8BCC8: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:4734) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 16 bytes in 1 blocks are definitely lost in loss record > > 13 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B8547F: save_switch(char const*, unsigned long, > > char > > const* const*, bool, bool) (gcc.c:3906) > > ==470150==    by 0x4B89EA9: driver_handle_option(gcc_options*, > > gcc_options*, cl_decoded_option const*, unsigned int, int, unsigned > > int, > > cl_option_handlers const*, diagnostic_context*, void (*)()) > > (gcc.c:4568) > > ==470150==    by 0x5D617CE: handle_option(gcc_options*, > > gcc_options*, > > cl_decoded_option const*, unsigned int, int, unsigned int, > > cl_option_handlers const*, bool, diagnostic_context*) (opts- > > common.c:1181) > > ==470150==    by 0x5D6195C: read_cmdline_option(gcc_options*, > > gcc_options*, > > cl_decoded_option*, unsigned int, unsigned int, cl_option_handlers > > const*, > > diagnostic_context*) (opts-common.c:1431) > > ==470150==    by 0x4B8B41A: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:4927) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150== > > ==470150== 16 bytes in 1 blocks are definitely lost in loss record > > 14 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B94C0A: set_multilib_dir (gcc.c:9650) > > ==470150==    by 0x4B94C0A: driver::set_up_specs() const > > (gcc.c:8546) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== 16 bytes in 1 blocks are definitely lost in loss record > > 15 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B8C8B9: record_temp_file(char const*, int, int) > > (gcc.c:2679) > > ==470150==    by 0x4B8CD3B: end_going_arg() [clone .part.0] > > (gcc.c:5649) > > ==470150==    by 0x4B8D116: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8D116: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6061) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 17 bytes in 1 blocks are definitely lost in loss record > > 16 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B953A7: set_multilib_dir (gcc.c:9858) > > ==470150==    by 0x4B953A7: driver::set_up_specs() const > > (gcc.c:8546) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 17 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B918A9: find_a_program (gcc.c:3100) > > ==470150==    by 0x4B918A9: maybe_putenv_COLLECT_LTO_WRAPPER > > (gcc.c:8572) > > ==470150==    by 0x4B918A9: > > driver::maybe_putenv_COLLECT_LTO_WRAPPER() > > const (gcc.c:8565) > > ==470150==    by 0x4B48616: driver::main(int, char**) (gcc.c:8131) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 18 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B8856D: find_a_program (gcc.c:3100) > > ==470150==    by 0x4B8856D: execute() (gcc.c:3283) > > ==470150==    by 0x4B9313C: driver::do_spec_on_infiles() const > > (gcc.c:8920) > > ==470150==    by 0x4B4884E: driver::main(int, char**) (gcc.c:8148) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 19 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B93E5B: find_a_program (gcc.c:3100) > > ==470150==    by 0x4B93E5B: driver::maybe_run_linker(char const*) > > const > > (gcc.c:9085) > > ==470150==    by 0x4B4885D: driver::main(int, char**) (gcc.c:8149) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 20 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B849EB: build_search_list(path_prefix const*, > > char > > const*, bool, bool) (gcc.c:2974) > > ==470150==    by 0x4B93DC5: putenv_from_prefixes (gcc.c:2987) > > ==470150==    by 0x4B93DC5: driver::maybe_run_linker(char const*) > > const > > (gcc.c:9116) > > ==470150==    by 0x4B4885D: driver::main(int, char**) (gcc.c:8149) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 21 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B849EB: build_search_list(path_prefix const*, > > char > > const*, bool, bool) (gcc.c:2974) > > ==470150==    by 0x4B93DF1: putenv_from_prefixes (gcc.c:2987) > > ==470150==    by 0x4B93DF1: driver::maybe_run_linker(char const*) > > const > > (gcc.c:9117) > > ==470150==    by 0x4B4885D: driver::main(int, char**) (gcc.c:8149) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 22 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8E5F2: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6132) > > ==470150==    by 0x4B8E30B: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6791) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 23 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B8CD88: find_file (gcc.c:7898) > > ==470150==    by 0x4B8CD88: end_going_arg() [clone .part.0] > > (gcc.c:5635) > > ==470150==    by 0x4B8D116: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8D116: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6061) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8E60E: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6623) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 24 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B8CD88: find_file (gcc.c:7898) > > ==470150==    by 0x4B8CD88: end_going_arg() [clone .part.0] > > (gcc.c:5635) > > ==470150==    by 0x4B8D116: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8D116: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6061) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 18 bytes in 1 blocks are definitely lost in loss record > > 25 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B8856D: find_a_program (gcc.c:3100) > > ==470150==    by 0x4B8856D: execute() (gcc.c:3283) > > ==470150==    by 0x4B8D3E4: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6037) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 21 bytes in 1 blocks are definitely lost in loss record > > 26 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B9458E: driver::set_up_specs() const > > (gcc.c:8333) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 28 bytes in 1 blocks are definitely lost in loss record > > 31 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B8BCEF: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:4738) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150== > > ==470150== 28 bytes in 1 blocks are definitely lost in loss record > > 32 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B94570: driver::set_up_specs() const > > (gcc.c:8331) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 31 bytes in 1 blocks are definitely lost in loss record > > 34 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DE3A5E: xstrdup (xstrdup.c:34) > > ==470150==    by 0x4B8B026: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:4696) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150== > > ==470150== 32 (16 direct, 16 indirect) bytes in 1 blocks are > > definitely > > lost in loss record 35 of 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B8C881: record_temp_file(char const*, int, int) > > (gcc.c:2661) > > ==470150==    by 0x4B8CD3B: end_going_arg() [clone .part.0] > > (gcc.c:5649) > > ==470150==    by 0x4B8D116: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8D116: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6061) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 34 bytes in 1 blocks are definitely lost in loss record > > 36 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B4BC29: init_asm_output (toplev.c:701) > > ==470150==    by 0x4B4BC29: lang_dependent_init (toplev.c:1852) > > ==470150==    by 0x4B4BC29: do_compile (toplev.c:2141) > > ==470150==    by 0x4B4BC29: toplev::main(int, char**) > > (toplev.c:2308) > > ==470150==    by 0x4B76AEE: gcc::jit::playback::context::compile() > > (jit-playback.c:2117) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== 36 bytes in 2 blocks are definitely lost in loss record > > 37 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B846CC: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2789) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B8CD88: find_file (gcc.c:7898) > > ==470150==    by 0x4B8CD88: end_going_arg() [clone .part.0] > > (gcc.c:5635) > > ==470150==    by 0x4B8D116: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8D116: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6061) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8DB23: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6668) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150== > > ==470150== 39 bytes in 1 blocks are definitely lost in loss record > > 38 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B94ACF: driver::set_up_specs() const > > (gcc.c:8535) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 40 bytes in 1 blocks are definitely lost in loss record > > 50 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B8CC0E: reserve (vec.h:290) > > ==470150==    by 0x4B8CC0E: reserve (vec.h:1858) > > ==470150==    by 0x4B8CC0E: safe_push (vec.h:1967) > > ==470150==    by 0x4B8CC0E: store_arg(char const*, int, int) > > (gcc.c:2181) > > ==470150==    by 0x4B8CD3B: end_going_arg() [clone .part.0] > > (gcc.c:5649) > > ==470150==    by 0x4B8F38A: end_going_arg (gcc.c:5628) > > ==470150==    by 0x4B8F38A: do_spec_2(char const*, char const*) > > (gcc.c:5744) > > ==470150==    by 0x4B9097C: do_self_spec(char const*) (gcc.c:5806) > > ==470150==    by 0x4B90D9B: do_option_spec(char const*, char > > const*) > > (gcc.c:5795) > > ==470150==    by 0x4B95E6F: driver_get_configure_time_options(void > > (*)(char > > const*, void*), void*) (gcc.c:11258) > > ==470150==    by 0x4B7580A: > > gcc::jit::playback::context::make_fake_args(vec > vl_ptr>*, > > char const*, vec > vl_ptr>*) > > (jit-playback.c:2562) > > ==470150==    by 0x4B7680B: gcc::jit::playback::context::compile() > > (jit-playback.c:2103) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 48 bytes in 1 blocks are definitely lost in loss record > > 54 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B948EC: driver::set_up_specs() const > > (gcc.c:8453) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 59 (40 direct, 19 indirect) bytes in 1 blocks are > > definitely > > lost in loss record 102 of 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B8E8A9: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6354) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8E30B: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6791) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150== > > ==470150== 74 bytes in 1 blocks are definitely lost in loss record > > 116 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B848A4: for_each_path(path_prefix const*, bool, > > unsigned long, void* (*)(char*, void*), void*) (gcc.c:2813) > > ==470150==    by 0x4B8564A: find_a_file(path_prefix const*, char > > const*, > > int, bool) (gcc.c:3072) > > ==470150==    by 0x4B945B2: driver::set_up_specs() const > > (gcc.c:8335) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150== > > ==470150== 75 bytes in 1 blocks are definitely lost in loss record > > 118 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B8B7C7: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:5410) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150== > > ==470150== 75 bytes in 1 blocks are definitely lost in loss record > > 119 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DD6961: concat (concat.c:147) > > ==470150==    by 0x4B8B802: process_command(unsigned int, > > cl_decoded_option*) (gcc.c:5413) > > ==470150==    by 0x4B944F2: driver::set_up_specs() const > > (gcc.c:8320) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150== > > ==470150== 88 bytes in 1 blocks are definitely lost in loss record > > 128 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B91177: reserve (vec.h:290) > > ==470150==    by 0x4B91177: reserve (vec.h:1858) > > ==470150==    by 0x4B91177: reserve_exact (vec.h:1878) > > ==470150==    by 0x4B91177: create (vec.h:1893) > > ==470150==    by 0x4B91177: alloc_args (gcc.c:2156) > > ==470150==    by 0x4B91177: driver::global_initializations() > > (gcc.c:8242) > > ==470150==    by 0x4B485DC: driver::main(int, char**) (gcc.c:8126) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== 88 bytes in 1 blocks are definitely lost in loss record > > 129 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:290) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:1858) > > ==470150==    by 0x4B8F8EB: reserve_exact (vec.h:1878) > > ==470150==    by 0x4B8F8EB: create (vec.h:1893) > > ==470150==    by 0x4B8F8EB: alloc_args (gcc.c:2156) > > ==470150==    by 0x4B8F8EB: eval_spec_function (gcc.c:6905) > > ==470150==    by 0x4B8F8EB: handle_spec_function(char const*, > > bool*, char > > const*) (gcc.c:6994) > > ==470150==    by 0x4B8FE92: handle_braces(char const*) (gcc.c:7148) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8F378: do_spec_2(char const*, char const*) > > (gcc.c:5742) > > ==470150==    by 0x4B9097C: do_self_spec(char const*) (gcc.c:5806) > > ==470150==    by 0x4B9470B: driver::set_up_specs() const > > (gcc.c:8368) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150== > > ==470150== 88 bytes in 1 blocks are definitely lost in loss record > > 130 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:290) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:1858) > > ==470150==    by 0x4B8F8EB: reserve_exact (vec.h:1878) > > ==470150==    by 0x4B8F8EB: create (vec.h:1893) > > ==470150==    by 0x4B8F8EB: alloc_args (gcc.c:2156) > > ==470150==    by 0x4B8F8EB: eval_spec_function (gcc.c:6905) > > ==470150==    by 0x4B8F8EB: handle_spec_function(char const*, > > bool*, char > > const*) (gcc.c:6994) > > ==470150==    by 0x4B8FE92: handle_braces(char const*) (gcc.c:7148) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8E30B: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6791) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150== > > ==470150== 88 bytes in 1 blocks are definitely lost in loss record > > 131 of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:290) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:1858) > > ==470150==    by 0x4B8F8EB: reserve_exact (vec.h:1878) > > ==470150==    by 0x4B8F8EB: create (vec.h:1893) > > ==470150==    by 0x4B8F8EB: alloc_args (gcc.c:2156) > > ==470150==    by 0x4B8F8EB: eval_spec_function (gcc.c:6905) > > ==470150==    by 0x4B8F8EB: handle_spec_function(char const*, > > bool*, char > > const*) (gcc.c:6994) > > ==470150==    by 0x4B8FE92: handle_braces(char const*) (gcc.c:7148) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B8E30B: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6791) > > ==470150==    by 0x4B8E30B: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6791) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 211 bytes in 1 blocks are definitely lost in loss record > > 146 > > of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x5DE3A5E: xstrdup (xstrdup.c:34) > > ==470150==    by 0x4B8413B: set_spec(char const*, char const*, > > bool) > > (gcc.c:2089) > > ==470150==    by 0x4B87379: read_specs(char const*, bool, bool) > > (gcc.c:2581) > > ==470150==    by 0x4B949A0: driver::set_up_specs() const > > (gcc.c:8338) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150== > > ==470150== 646 bytes in 47 blocks are definitely lost in loss > > record 166 > > of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B86F12: save_string (gcc.c:9301) > > ==470150==    by 0x4B86F12: read_specs(char const*, bool, bool) > > (gcc.c:2542) > > ==470150==    by 0x4B949A0: driver::set_up_specs() const > > (gcc.c:8338) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 792 bytes in 9 blocks are definitely lost in loss record > > 167 > > of > > 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE39CF: xrealloc (xmalloc.c:179) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:290) > > ==470150==    by 0x4B8F8EB: reserve (vec.h:1858) > > ==470150==    by 0x4B8F8EB: reserve_exact (vec.h:1878) > > ==470150==    by 0x4B8F8EB: create (vec.h:1893) > > ==470150==    by 0x4B8F8EB: alloc_args (gcc.c:2156) > > ==470150==    by 0x4B8F8EB: eval_spec_function (gcc.c:6905) > > ==470150==    by 0x4B8F8EB: handle_spec_function(char const*, > > bool*, char > > const*) (gcc.c:6994) > > ==470150==    by 0x4B8FE92: handle_braces(char const*) (gcc.c:7148) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150==    by 0x4B8DDAD: do_spec_1(char const*, int, char > > const*) > > (gcc.c:6676) > > ==470150==    by 0x4B904FC: process_brace_body (gcc.c:7362) > > ==470150==    by 0x4B904FC: handle_braces(char const*) (gcc.c:7269) > > ==470150== > > ==470150== 2,842 bytes in 1 blocks are definitely lost in loss > > record 185 > > of 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DE3938: xmalloc (xmalloc.c:149) > > ==470150==    by 0x4B86F94: save_string (gcc.c:9301) > > ==470150==    by 0x4B86F94: read_specs(char const*, bool, bool) > > (gcc.c:2556) > > ==470150==    by 0x4B949A0: driver::set_up_specs() const > > (gcc.c:8338) > > ==470150==    by 0x4B485EC: driver::main(int, char**) (gcc.c:8128) > > ==470150==    by 0x4B74A57: > > gcc::jit::playback::context::invoke_embedded_driver(vec > va_heap, > > vl_ptr> const*) (jit-playback.c:2785) > > ==470150==    by 0x4B77212: > > gcc::jit::playback::context::invoke_driver(char > > const*, char const*, char const*, timevar_id_t, bool, bool) > > (jit-playback.c:2773) > > ==470150==    by 0x4B783AA: > > gcc::jit::playback::context::convert_to_dso(char const*) > > (jit-playback.c:2694) > > ==470150==    by 0x4B78409: > > gcc::jit::playback::compile_to_memory::postprocess(char const*) > > (jit-playback.c:2176) > > ==470150==    by 0x4B76C79: gcc::jit::playback::context::compile() > > (jit-playback.c:2149) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150== > > ==470150== 12,611 (48 direct, 12,563 indirect) bytes in 1 blocks > > are > > definitely lost in loss record 191 of 213 > > ==470150==    at 0x4842839: malloc (in > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==470150==    by 0x5DF20A8: operator new(unsigned long) (in > > /home/mnieper/gcc/install/lib/libgccjit.so.0.0.1) > > ==470150==    by 0x4F62B89: > > gcc::pass_manager::register_pass_name(opt_pass*, char const*) > > (passes.c:906) > > ==470150==    by 0x4F62D98: > > gcc::pass_manager::register_one_dump_file(opt_pass*) (passes.c:878) > > ==470150==    by 0x4F62E88: > > gcc::pass_manager::register_dump_files(opt_pass*) (passes.c:890) > > ==470150==    by 0x4F698CD: > > gcc::pass_manager::pass_manager(gcc::context*) > > (passes.c:1642) > > ==470150==    by 0x4B4A20F: general_init (toplev.c:1107) > > ==470150==    by 0x4B4A20F: toplev::main(int, char**) > > (toplev.c:2240) > > ==470150==    by 0x4B76AEE: gcc::jit::playback::context::compile() > > (jit-playback.c:2117) > > ==470150==    by 0x4B6BA25: gcc::jit::recording::context::compile() > > (jit-recording.c:1397) > > ==470150==    by 0x4B5C708: gcc_jit_context_compile > > (libgccjit.c:3091) > > ==470150==    by 0x40241F: main (in /tmp/a.out) > > ==470150== > > ==470150== LEAK SUMMARY: > > ==470150==    definitely lost: 5,740 bytes in 94 blocks > > ==470150==    indirectly lost: 12,598 bytes in 334 blocks > > ==470150==      possibly lost: 0 bytes in 0 blocks > > ==470150==    still reachable: 1,467,660 bytes in 744 blocks > > ==470150==         suppressed: 0 bytes in 0 blocks > > ==470150== Reachable blocks (those to which a pointer was found) > > are not > > shown. > > ==470150== To see them, rerun with: --leak-check=full --show-leak- > > kinds=all > > ==470150== > > ==470150== For lists of detected and suppressed errors, rerun with: > > -s > > ==470150== ERROR SUMMARY: 39 errors from 39 contexts (suppressed: 0 > > from > > 0) > > > > Am Do., 16. Dez. 2021 um 23:26 Uhr schrieb Mark Wielaard > > : > > > > > On Thu, Dec 16, 2021 at 11:00:24PM +0100, Marc Nieper-Wißkirchen > > > via > > Jit > > > wrote: > > > > Here is the Valgrind output for a debug GCC build: > > > > > > You have to build gcc with: > > > > > > configure --enable-valgrind-annotations > > > > > >     Mark selected memory related operations in the compiler when > > > run > > >     under valgrind to suppress false positives. > > > > > > Cheers, > > > > > > Mark > > > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose > the contents to any other person, use it for any purpose, or store or > copy the information in any medium. Thank you.