]> git.ipfire.org Git - thirdparty/gcc.git/commit
[nvptx, libgomp] Fix memleak in GOMP_OFFLOAD_fini_device
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2019 14:12:19 +0000 (14:12 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2019 14:12:19 +0000 (14:12 +0000)
commitb3c3048774b582f949410796dcee8d97dbbba7a0
tree6accba5f52360417d24f463315367a1eb43c4be8
parent13358730a93fccc753133592ab589ef9f84e6f96
[nvptx, libgomp] Fix memleak in GOMP_OFFLOAD_fini_device

I wrote a test-case:
...
int
main (void)
{
  for (unsigned i = 0; i < 128; ++i)
    {
      acc_init (acc_device_nvidia);
      acc_shutdown (acc_device_nvidia);
    }

  return 0;
}
...
and ran it under valgrind.  The only leak location reported with a frequency
of 128, was the allocation of ptx_devices in nvptx_init.

Fix this by freeing ptx_devices in GOMP_OFFLOAD_fini_device, once
instantiated_devices drops to 0.

2019-01-24  Tom de Vries  <tdevries@suse.de>

* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
once instantiated_devices drops to 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268237 138bc75d-0d04-0410-961f-82ee72b054a4
libgomp/ChangeLog
libgomp/plugin/plugin-nvptx.c