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:22:46 +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>
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.
Julian