https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108098
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Tobias Burnus <bur...@gcc.gnu.org>: https://gcc.gnu.org/g:615b920553fd28e9d4732dedcd799227e82cc011 commit r13-7306-g615b920553fd28e9d4732dedcd799227e82cc011 Author: Tobias Burnus <tob...@codesourcery.com> Date: Fri May 5 11:27:32 2023 +0200 nvptx/mkoffload.cc: Add dummy proc for OpenMP rev-offload table [PR108098] Seemingly, the ptx JIT of CUDA <= 10.2 replaces function pointers in global variables by NULL if a translation does not contain any executable code. It works with CUDA 11.1. The code of this commit is about reverse offload; having NULL values disables the side of reverse offload during image load. Solution is the same as found by Thomas for a related issue: Adding a dummy procedure. Cf. the PR of this issue and Thomas' patch "nvptx: Support global constructors/destructors via 'collect2'" https://gcc.gnu.org/pipermail/gcc-patches/2022-December/607749.html As that approach also works here: Co-authored-by: Thomas Schwinge <tho...@codesourcery.com> gcc/ PR libgomp/108098 * config/nvptx/mkoffload.cc (process): Emit dummy procedure alongside reverse-offload function table to prevent NULL values of the function addresses. (cherry picked from commit 4359724cba31b2645f6106266bef019c3d6ef16a)