This is the mail archive of the
mailing list for the binutils project.
Re: Binutils/gas/ld port for RISC-V [PATCH v2]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Palmer Dabbelt <palmer at dabbelt dot com>
- Cc: Andrew Waterman <andrew at sifive dot com>, <binutils at sourceware dot org>, <nickc at redhat dot com>
- Date: Mon, 24 Oct 2016 17:14:40 +0000
- Subject: Re: Binutils/gas/ld port for RISC-V [PATCH v2]
- Authentication-results: sourceware.org; auth=none
- References: <firstname.lastname@example.org>
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