Open
Description
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