Binutils/gas/ld port for RISC-V [PATCH v2]
Mon Oct 24 17:15:00 GMT 2016
On Sat, 22 Oct 2016, Palmer Dabbelt wrote:
> Additionally, there are a few issues on our github that are relevant, but I'm
> not sure if they block upstreaming:
> * https://github.com/riscv/riscv-gnu-toolchain/issues/124 : "sizeof(long
> double)" is 64-bit on RISC-V, which precludes the use of the Q extension for
> 128-bit floating point. This may cause an ABI-breakage.
> * https://github.com/riscv/riscv-gnu-toolchain/pull/136 : The path for ld.so
> might change. This would definately be an ABI change.
Those should only be relevant to the GCC / glibc ports, not to binutils.
(Except as regards the ELF64_DYNAMIC_INTERPRETER /
ELF32_DYNAMIC_INTERPRETER settings in BFD, but those are just a default if
no -dynamic-linker option was passed to ld, many architectures don't
bother trying to make those ld defaults sensible, and they can't possibly
handle more complicated dynamic linker name variation depending on other
compiler ABI options - for that you just need to set up the compiler specs
to pass the right -dynamic-linker option to ld.)
In any case, when a glibc port is submitted it needs to set the minimum
symbol version to be that of the first glibc release containing the port,
so you'll have an ABI break at that point unless you correctly predicted
in advance what glibc version would get the port upstream and review
didn't involve any ABI changes.
Joseph S. Myers
More information about the Binutils