<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/77798>77798</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] offload to amdgpu hit "Input is not an ELF file" error
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ye-luo
      </td>
    </tr>
</table>

<pre>
    llvm 164f85db876e61cf4a3c34493ed11e8f5820f968
SLES 15 SP4 ROCM 5.7.0

Use https://github.com/ye-luo/miniqmc
```
mkdir build_amdgpu; cd build_amdgpu
cmake -DCMAKE_CXX_COMPILER=clang++ -DQMC_ENABLE_ROCM=ON -DCMAKE_CXX_FLAGS=--gcc-toolchain=/soft/compilers/gcc/12.2.0/x86_64-suse-linux -DENABLE_OFFLOAD=ON -DQMC_GPU_ARCHS=gfx90a ..
cd src/Particle/tests
make -j32 test_distance_table
./test_distance_table
```
output error
```
test_distance_table: /gpfs/jlse-fs0/users/yeluo/opt/llvm-clang/llvm-project-nightly/openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp:31: Expected<ELF64LEObjectFile> llvm::omp::target::plugin::GenericGlobalHandlerTy::getELFObjectFile(DeviceImageTy &): Assertion `utils::elf::isELF(Image.getMemoryBuffer().getBuffer()) && "Input is not an ELF file"' failed.`
```

backtrace shows
```
Thread 1 "test_distance_t" received signal SIGABRT, Aborted.
0x00007fffef42fd2b in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007fffef42fd2b in raise () from /lib64/libc.so.6
#1 0x00007fffef4313e5 in abort () from /lib64/libc.so.6
#2 0x00007fffef427c6a in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007fffef427cf2 in __assert_fail () from /lib64/libc.so.6
#4 0x00007fffde3fa529 in llvm::omp::target::plugin::GenericGlobalHandlerTy::isSymbolInImage(llvm::omp::target::plugin::GenericDeviceTy&, llvm::omp::target::plugin::DeviceImageTy&, llvm::StringRef) ()
   from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#5 0x00007fffde3e3a6f in llvm::omp::target::plugin::AMDGPUDeviceTy::callGlobalCtorDtorCommon(llvm::omp::target::plugin::GenericPluginTy&, llvm::omp::target::plugin::DeviceImageTy&, char const*) ()
   from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#6 0x00007fffde3c34f0 in llvm::omp::target::plugin::AMDGPUDeviceTy::callGlobalDestructors(llvm::omp::target::plugin::GenericPluginTy&, llvm::omp::target::plugin::DeviceImageTy&) ()
   from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#7 0x00007fffde3eb0e5 in llvm::omp::target::plugin::GenericDeviceTy::deinit(llvm::omp::target::plugin::GenericPluginTy&) ()
   from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#8 0x00007fffde3f02f2 in llvm::omp::target::plugin::GenericPluginTy::deinitDevice(int) ()
   from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#9 0x00007fffde3e301d in llvm::omp::target::plugin::Plugin::deinit() ()
 from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#10 0x00007fffde3e2c58 in llvm::omp::target::plugin::Plugin::~Plugin() ()
 from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#11 0x00007fffef4331be in __cxa_finalize () from /lib64/libc.so.6
#12 0x00007fffde3be373 in __do_global_dtors_aux () from /soft/compilers/llvm/master-nightly/lib/libomptarget.rtl.amdgpu.so
#13 0x00007fffffffbcd0 in ?? ()
#14 0x00007ffff7fe29b3 in _dl_fini () from /lib64/ld-linux-x86-64.so.2
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEV01z47gR_TXQBUUWCVAkddBBFkWvK_LasT1Ve2OBYIPCDEgoBDgr5ZDfngKhdSSNk6wzM47LJeHzdb_XjRbAjJFtD7BE8xs0L2ZstDs9LI8QqFHPat0cl0p97XCcJiKfN3WepZDGXCSMcpokCwpNHEMu5jmJxCLNUVSgaPW83TzjeI6fHxP89LC-x_MwCyM_5z8_GcA7a_cG0RUiJSJlK-1urEOuO0RKbx-RspO9_FvHT1vT6PQ_dbsvjRxwPUrVVKxr2v2I6A3mzeXQtJR37AvgoFjfr_6yqda__VatH-4f77abJ0QLrljfInKDyA0Oir_er6vNr6ub7aZyriNaPPx6sbPcrm6fES2CoOU8sForvmOyR7RApDRaWERKrru9VDAYR4xzRMqYhCSMECkPeVqlSWBGA4GS_XjAQXGy91CW24dV8YdJ58nt46dq9bT-xRlsxWERMRyGJ04NNoODfmSDlVwBIqUFY81JnYnxZ0qwG6waaSzrOVSW1Qr8kvC0483JK7H1aPejxTAMenhzwVtAdIWdAHvhdPisDATCOA1G46U5go-y3jvRXKIFp2D4zn7Qn4HboJftzqrjtBL6bu_mZa27vWVDC27vXo2t7E3Qw8G20PsQdNo1vEi3StdM_cL6RsEQ8v0e0RWNnYebwx64hQbR9WZbpsl281A7q6V0DDbYeeKylK50t_eNk9mp7S379i30MEh-Yevl6OdasJtteQZN8gK-Sg53HWvh5YgRSRFZOI9WxsBgpe4xSqPRSmU8BCjhG9JstiUi-bQ1bMHeQ6eH480oBAyI5Igs3Oh5H5GFt5BiRMhd74IpDe61xazHm22JxeQUQSTDgkkFTfga26tQ-8-a8S92YByw2enfzZsrX3YDsAbHzuZVgiBC8AAc5FdosCtCTOHnu9vVzdMLImu8qvVgnQ8TTnSIoijKhBAgEiIaUmPZ44FJA9jzw2LQHfaJkSb-m4dGh-nJMZK3Te0W1vaPERph_COQaXwJQ2MKcwfDHIk_D0OuvMl4yhxMVbEpIyoXl6pm73GNfoMpyDeYfx4uOYNrgAo2JwsH94MOiTTPx67W6q6fUhuR_P3A_lS9HKdsX7_Hs4vz-M32ZzvIvn0C4Y_SdKgmWTB-Fe6N8j8BkLJjxsJwVsmUrK_KWDhYFfpfrdDoV8nnl5IDZal4p-Sr--L28dOrMNMYZ0r5GKytHgqrh_WpYv4Pmj9OQz9Kc75jA-a6NxaR1QernV6qzWkioh-qdgHGDiO32vn7f5b6Q5XNrvK4jnyR_I4TPg02IHtpv1_LDxUjv6qjEfFl-Ts4nInhBUIkl739YGKL62oVxc07iT2etV-D-w2Nn0kijq5YED7Pv4PFP06dj6ZxfS-hcQ3-x58fWCVkz5T8-3vuOeRSlxpoRj1go6t2qm9V40pbxcbDNe5PoXh-v3F_NW-meo1oiWh5obVbfn5_EZkAsqg9gUY5PeS_1aLxj7XgkKdBmjhZyNWNd9YsabOgCzaDZZxFyWJBsgWZ7ZZ5ngCwOosFzwSLmkzwOsrreD5PgeUpm8kliUgSxXEcZ1FKsrCmiYA0ThllTQOpQEkEHZMqdHqFemhn0pgRllmWLfKZYjUoM73gCenhdzxNuqv8vJgN0_s9qMfWoCRS0ljzLxQrrZqe_g976O8f0bzAWgilWYOtxl5tvJP2vzwZ_KtwNg5q-R_e9KdYnz_sECknX10qTFz-GQAA__950hmR">