<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/147788>147788</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[liboffload] Runtime SEGFAULT when linking static archives
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
jhuber6
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mjklemm
</td>
</tr>
</table>
<pre>
Clang and Flang fail to link code that is contained in static archives and to properly initialize the offload runtime:
Clang:
```
> ./build-c.sh && ./num_devices-c.exe
+ rm -f NumberOfDevices_Function-c.o num_devices-c.o libnum_devices-c.a libnum_devices-c.a num_devices-c.exe
+ clang -fopenmp --offload-arch=gfx1030 -c NumberOfDevices_Function.c -o NumberOfDevices_Function-c.o
+ ar r libnum_devices-c.a NumberOfDevices_Function-c.o
ar: creating libnum_devices-c.a
+ clang -fopenmp --offload-arch=gfx1030 -c num_devices.c -o num_devices-c.o
+ ar r libmain-c.a num_devices-c.o
+ clang -fopenmp --offload-arch=gfx1030 -o num_devices-c.exe libmain-c.a libnum_devices-c.a
[1] 3688277 segmentation fault (core dumped) ./num_devices-c.exe
```
Flang:
```
> ./build-ftn.sh && ./num_devices-ftn.exe [ROCm 6.4.1] [llvm-project:dev]
+ rm -f NumberOfDevices_Function-ftn.o num_devices-ftn.o libnum_devices-ftn.a libnum_devices-ftn.a num_devices-ftn.exe numberofdevices_function.mod
+ flang -fopenmp --offload-arch=gfx1030 -cpp -c NumberOfDevices_Function.f90 -o NumberOfDevices_Function-ftn.o
+ ar r libnum_devices-ftn.a NumberOfDevices_Function-ftn.o
ar: creating libnum_devices-ftn.a
+ flang -fopenmp --offload-arch=gfx1030 -c num_devices.f90 -o num_devices-ftn.o
+ ar r libmain-ftn.a num_devices-ftn.o
+ flang -fopenmp --offload-arch=gfx1030 -o num_devices-ftn.exe libmain-ftn.a libnum_devices-ftn.a
./build-ftn.sh 0.70s user 0.44s system 97% cpu 1.168 total
[1] 3688606 segmentation fault (core dumped) ./num_devices-ftn.exe
```
[reproducer.tar.gz](https://github.com/user-attachments/files/21147649/reproducer.tar.gz)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVl1vozgU_TXOyxXImO8HHpLpsC-rHWl297ky5hLcMTayTaedX78yYXfbJM20EyGRXOJ7zzmcg-HOyaNGbEh-IIw9jEuHtiCMkfxuxxc_GttMD98UTtOuM_1z80lxfQSue2jXbwOXCrwBJfU3EKZH8CP3IB0Ioz2XGnuQGpznXgrgVozyEd3awBuYrZnRqmeQWnrJlfwR1iOYYVCG92AX7eWEJN0TGo51-varoNtB9yT9DDFhbbdI1UcidiMQVhBWrFW9TPc9PkqBLhIxPmFYwQ5gJ4gG-GOZOrRfhrvTP-7bRQsvjY5EbOD10sCye13i10pvDRSrYtFgZtTTDFG00YyCLCS9Ow5PCU0pROJNVLGAyNzEvM3iFuw1bD9Zyi1J9yAsci_18UqDj1N50eCE_kzUM8ATl_qKiuajg8_n4BO-an-dWn5ISH4HAJAWVcXKEhweJ9TBvkbDwBflgbBKGIvQL9OMPWH12zZ7aVK6b99j38HrGwYOVwOV2x-SH75--TRBEWfxSojkB6Uep2i25gGFJ-m-x0eS370vCmHoaz1PlTMNQ_FC2FPxGgW9jjPDVr8f_vX4ZPoN1_Bum83zzdgMNb0ZnJXPjeicWPx0-e34rE0-zOxVgDYeF7fiWoiuK28-CuBy2ssovX3PCd1fmBpoXFIHi0MLNM4yB-7ZeZygLgnLQcwLJHFSVOCN5-oykAUtfi2QG-zLSJL8YHG2pl8E2thzGx9_hFywavR-diGsrCWsPUo_Ll0szERYG_BH3HsuxgDFEdYOUmE4syTJyiKrCWsv-7J61zdpX6c132GTlDmjFSuKfDc2KSsZioLRoazSshdcdH3F0oHysuJciJ1sGGU5LWmdlGmZ5XE3ZPWQIGY10oTSimQUJy5VHIIeG3vcSecWbJKsLKtqp3iHym37vMbvsF7ddnrbrE-Hbjk6klElnXf_t_HSq_UFQcluM0m4JV9PezP8-fm3dv_373_B9xH1-h4QrH-24e8Wq5obioZh2-m_ZxRrV4hB1Y3DY8P-CQAA__9I-Nnr">