[Openmp-commits] [PATCH] D127432: [Libomptarget] Add support for offloading binaries in libomptarget
Jon Chesterfield via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Jul 28 05:37:13 PDT 2022
JonChesterfield added inline comments.
================
Comment at: openmp/libomptarget/src/rtl.cpp:557
// TODO: Remove RTL and the devices it manages if it's not used anymore?
// TODO: Write some RTL->unload_image(...) function?
----------------
I'm doubtful that calling into the plugin to run destructors is any safer than is_valid_binary_info. I think code is working because libomptarget happens to be torn down before the plugins but nothing particularly ensures that will be the case.
This is however a good place to call a destructor function that we add to the plugins.
So we can add __tgt_rtl_init_plugin() and __tgt_rtl_dtor_plugin() functions, replace the global state constructors in the plugins with those, call init shortly before init_device and call the dtor from here. That removes this undefined behaviour and fixes the segfault Joseph just noticed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127432/new/
https://reviews.llvm.org/D127432
More information about the Openmp-commits
mailing list