[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#46059] More info about other targets
From: |
Ekaitz Zarraga |
Subject: |
[bug#46059] More info about other targets |
Date: |
Sun, 24 Jan 2021 17:09:05 +0000 |
For more information on the dynamic linker names I didn't know:
lp32, ilp32f and ilp32d are the ABI.
i -> integer
l -> long
p -> pointer
f -> float
d -> double
The chars in the beginning indicate what kind of data is sent to 32 bit
registers.
The suffix says which ones are sent to floating point registers.
So in ilp32 floating point numbers are sent to integer registers, while in
ilp32d double precision numbers are sent to floating point registers.
Not every ABI is compatible with every single RISC-V configuration. RV32I for
instance, doesn't support floating point numbers (they are supported in the F
extension) so it doesn't provide floating point registers meaning that it's not
able to use any ABI that has a `d` or an `f` as suffix.
But RISC-V configurations with floating point modules can actually run the
simplest ABI if they want so we probably need to add many entries here :)
Does this make sense?