You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A incorrect ABI is used by llvm on the riscv64gc-unknown-none-elf target. The ABI used should be lp64d. I've included a minimum working example of this here.
would produce a library with double float ABI due to the +d extension. What is produced is a library with a single float ABI. The ABI used can be checked by looking at the ELF header:
Note that the riscv64-unknown-linux-gnu target uses the lp64d ABI as expected. Note that it's actually using the wrong ABI (not just setting bits incorrectly in the header). I'm trying to link to a C library that is compiled with the d extension and this fails during linking due to the differing ABIs in use.
The text was updated successfully, but these errors were encountered:
A incorrect ABI is used by llvm on the
riscv64gc-unknown-none-elf
target. The ABI used should belp64d
. I've included a minimum working example of this here.Expected behavior:
would produce a library with double float ABI due to the
+d
extension. What is produced is a library with a single float ABI. The ABI used can be checked by looking at the ELF header:This gives back:
I'm expecting:
Note that the
riscv64-unknown-linux-gnu
target uses thelp64d
ABI as expected. Note that it's actually using the wrong ABI (not just setting bits incorrectly in the header). I'm trying to link to a C library that is compiled with the d extension and this fails during linking due to the differing ABIs in use.The text was updated successfully, but these errors were encountered: