This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 0/6, OpenACC, libgomp] Async re-work
- From: Julian Brown <julian at codesourcery dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: Chung-Lin Tang <cltang at codesourcery dot com>, <Catherine_Moore at mentor dot com>, <gcc-patches at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>
- Date: Thu, 6 Dec 2018 22:26:21 +0000
- Subject: Re: [PATCH 0/6, OpenACC, libgomp] Async re-work
- References: <432c2e58-7bf6-1f7e-457f-32813207b282@mentor.com> <yxfpsgza8k0p.fsf@hertz.schwinge.homeip.net> <20181206222246.1cceb504@squid.athome>
On Thu, 6 Dec 2018 22:22:46 +0000
Julian Brown <julian@codesourcery.com> wrote:
> On Thu, 6 Dec 2018 21:42:14 +0100
> Thomas Schwinge <thomas@codesourcery.com> wrote:
>
> > [...]
> > ..., where the "Invalid read of size 8" happens, and which
> > eventually would try to "free (tgt)" again, via
> > libgomp/target.c:gomp_unmap_tgt:
> >
> > attribute_hidden void
> > gomp_unmap_tgt (struct target_mem_desc *tgt)
> > {
> > /* Deallocate on target the tgt->tgt_start .. tgt->tgt_end
> > region. */ if (tgt->tgt_end)
> > gomp_free_device_memory (tgt->device_descr, tgt->to_free);
> >
> > free (tgt->array);
> > free (tgt);
> > }
> >
> > Is the "free (tgt)" in libgomp/target.c:gomp_unmap_vars_async wrong,
> > or something else?
>
> It might be worth trying this with the refcounting changes in the
> attach/detach patch.
...oh, also make sure you have this patch in the series you're testing
with:
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01973.html
else your "wait" will be ignored, IIUC.
Julian