[v7,02/17] Skeleton documentation for the RISC-V port
Commit Message
During the upstreaming process it was suggested that I add a handful of
small documentation entries about the RISC-V port, which I've collected
here.
2018-01-26 Palmer Dabbelt <palmer@sifive.com>
* manual/math.texi: RISC-V supports _Float128 and _Float64x.
---
NEWS | 16 ++++++++++++----
README | 1 +
manual/math.texi | 2 +-
3 files changed, 14 insertions(+), 5 deletions(-)
Comments
On Jan 26 2018, Palmer Dabbelt <palmer@dabbelt.com> wrote:
> +* Support for the RISC-V ISA running on Linux has been added. This port
> + requires at least binutils-2.30, gcc-7.3.0, and linux-4.15; and is supported
Has gcc 7.3 ever been bootstrapped on real hardware?
Andreas.
On Mon, 05 Feb 2018 01:15:59 PST (-0800), schwab@suse.de wrote:
> On Jan 26 2018, Palmer Dabbelt <palmer@dabbelt.com> wrote:
>
>> +* Support for the RISC-V ISA running on Linux has been added. This port
>> + requires at least binutils-2.30, gcc-7.3.0, and linux-4.15; and is supported
>
> Has gcc 7.3 ever been bootstrapped on real hardware?
Jim would be the only person who might have done it. Jim: IIRC you'd built GCC
on the FPGA at some point?
On Thu, Feb 8, 2018 at 1:00 PM, Palmer Dabbelt <palmer@dabbelt.com> wrote:
> On Mon, 05 Feb 2018 01:15:59 PST (-0800), schwab@suse.de wrote:
>>
>> Has gcc 7.3 ever been bootstrapped on real hardware?
>
> Jim would be the only person who might have done it. Jim: IIRC you'd built
> GCC on the FPGA at some point?
I did a gcc-7-branch bootstrap shortly before the gcc-7.3 release
using a fedora bootstrap disk image running on qemu. I haven't had
enough hardware access to be able to do a gcc bootstrap on hardware.
I have hardware now, but there are a number of things I need to test,
and I'm not sure when I will be able to try a gcc bootstrap.
Jim
On Feb 08 2018, Jim Wilson <jimw@sifive.com> wrote:
> On Thu, Feb 8, 2018 at 1:00 PM, Palmer Dabbelt <palmer@dabbelt.com> wrote:
>> On Mon, 05 Feb 2018 01:15:59 PST (-0800), schwab@suse.de wrote:
>>>
>>> Has gcc 7.3 ever been bootstrapped on real hardware?
>>
>> Jim would be the only person who might have done it. Jim: IIRC you'd built
>> GCC on the FPGA at some point?
>
> I did a gcc-7-branch bootstrap shortly before the gcc-7.3 release
> using a fedora bootstrap disk image running on qemu. I haven't had
> enough hardware access to be able to do a gcc bootstrap on hardware.
> I have hardware now, but there are a number of things I need to test,
> and I'm not sure when I will be able to try a gcc bootstrap.
Thanks. The reason I ask is that I didn't manage to bootstrap it (with
qemu), but now that I rechecked I can no longer reproduce the failure.
Either some of the last minute changes before the 7.3 release fixed that
or it was a qemu bug. Now the only thing that's missing is the go
compiler, but that depends on libffi which still needs some porting.
Perhaps someone wants to take a look at
<https://build.opensuse.org/project/show/openSUSE:Factory:RISCV> to see
what else is missing.
Andreas.
@@ -41,13 +41,13 @@ Major new features:
process aborts as the result of assertion failures.
* On platforms where long double has the IEEE binary128 format (aarch64,
- alpha, mips64, s390 and sparc), the math library now implements _Float128
- interfaces for that type, as defined by ISO/IEC TS 18661-3:2015. These
- are the same interfaces added in version 2.26 for some platforms where
+ alpha, mips64, riscv, s390 and sparc), the math library now implements
+ _Float128 interfaces for that type, as defined by ISO/IEC TS 18661-3:2015.
+ These are the same interfaces added in version 2.26 for some platforms where
this format is supported but is not the format of long double.
* On platforms with support for _Float64x (aarch64, alpha, i386, ia64,
- mips64, powerpc64le, s390, sparc and x86_64), the math library now
+ mips64, powerpc64le, riscv, s390, sparc and x86_64), the math library now
implements interfaces for that type, as defined by ISO/IEC TS
18661-3:2015. These are corresponding interfaces to those supported for
_Float128.
@@ -98,6 +98,14 @@ Major new features:
to fail to load locales and fall back to the builtin C/POSIX locales.
See notes below for other changes affecting compatibility.
+* Support for the RISC-V ISA running on Linux has been added. This port
+ requires at least binutils-2.30, gcc-7.3.0, and linux-4.15; and is supported
+ for the following ISA and ABI pairs:
+
+ - rv64imac lp64
+ - rv64imafdc lp64
+ - rv64imafdc lp64d
+
Deprecated and removed features, and other changes affecting compatibility:
* Statically compiled applications attempting to load locales compiled for the
@@ -39,6 +39,7 @@ The GNU C Library supports these configurations for using Linux kernels:
powerpc64*-*-linux-gnu Big-endian and little-endian.
s390-*-linux-gnu
s390x-*-linux-gnu
+ riscv64-*-linux-gnu
sh[34]-*-linux-gnu
sparc*-*-linux-gnu
sparc64*-*-linux-gnu
@@ -70,7 +70,7 @@ provided for @code{_Float32}, @code{_Float64} and @code{_Float32x} on
all platforms.
It is also provided for @code{_Float128} and @code{_Float64x} on
powerpc64le (PowerPC 64-bits little-endian), x86_64, x86, ia64,
-aarch64, alpha, mips64, s390 and sparc.
+aarch64, alpha, mips64, riscv, s390 and sparc.
@menu
* Mathematical Constants:: Precise numeric values for often-used