From: "Marc Nieper-Wißkirchen" <marc.nieper+gnu@gmail.com>
To: David Malcolm <dmalcolm@redhat.com>
Cc: "Alex Coplan" <Alex.Coplan@arm.com>,
"Marc Nieper-Wißkirchen" <marc.nieper+gnu@gmail.com>,
"Mark Wielaard" <mark@klomp.org>,
"jit@gcc.gnu.org" <jit@gcc.gnu.org>
Subject: Re: Memory leaks (detected by Valgrind)
Date: Sat, 18 Dec 2021 14:57:51 +0100 [thread overview]
Message-ID: <CAEYrNrSck_WLXTDwmdHoQ48UoTBbY6QPTkgY6Pyrik55Vw3+bA@mail.gmail.com> (raw)
In-Reply-To: <b4cbc76e36afff52881f5afef7712dd02c7e9975.camel@redhat.com>
Am Sa., 18. Dez. 2021 um 00:23 Uhr schrieb David Malcolm <dmalcolm@redhat.com>:
>
> On Fri, 2021-12-17 at 10:52 +0000, Alex Coplan via Jit wrote:
> > Hi,
> >
> > > -----Original Message-----
> > > From: Jit <jit-bounces+alex.coplan=arm.com@gcc.gnu.org> On Behalf
> > > Of Marc
> > > Nieper-Wißkirchen via Jit
> > > Sent: 17 December 2021 10:29
> > > To: Mark Wielaard <mark@klomp.org>
> > > Cc: Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com>;
> > > 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]
I am currently trying to find my way through the code in gcc.c. During
my experiments, I fixed a single leak where a dynamically allocated
string was assigned in place of a statically allocated one by moving
the dynamically allocated string onto the obstack. I hope that such an
approach is acceptable.
>
> Dave
> [1] also, I'm on vacation, so sorry in advance for any slow responses
> to email.
I wish you a good time on your vacation!
[...]
next prev parent reply other threads:[~2021-12-18 13:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 17:17 Marc Nieper-Wißkirchen
2021-12-16 22:00 ` Marc Nieper-Wißkirchen
2021-12-16 22:26 ` Mark Wielaard
2021-12-17 10:29 ` Marc Nieper-Wißkirchen
2021-12-17 10:52 ` Alex Coplan
2021-12-17 14:03 ` Marc Nieper-Wißkirchen
2021-12-17 14:54 ` Andrea Corallo
2021-12-17 15:11 ` Marc Nieper-Wißkirchen
2021-12-17 16:07 ` Andrea Corallo
2021-12-17 17:53 ` Marc Nieper-Wißkirchen
2021-12-17 18:48 ` Andrea Corallo
2021-12-17 23:22 ` David Malcolm
2021-12-18 13:57 ` Marc Nieper-Wißkirchen [this message]
2021-12-18 16:45 ` David Malcolm
2021-12-18 17:50 ` Marc Nieper-Wißkirchen
2021-12-18 19:36 ` Marc Nieper-Wißkirchen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAEYrNrSck_WLXTDwmdHoQ48UoTBbY6QPTkgY6Pyrik55Vw3+bA@mail.gmail.com \
--to=marc.nieper+gnu@gmail.com \
--cc=Alex.Coplan@arm.com \
--cc=dmalcolm@redhat.com \
--cc=jit@gcc.gnu.org \
--cc=mark@klomp.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).