Binutils/gas/ld port for RISC-V [PATCH v2]

Joseph Myers joseph@codesourcery.com
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
joseph@codesourcery.com



More information about the Binutils mailing list