diff mbox series

[v7,02/17] Skeleton documentation for the RISC-V port

Message ID 20180127035744.10058-3-palmer@dabbelt.com
State New
Headers show
Series [v7,01/17] sysdeps/init_array: Add PREINIT_FUNCTION to crti.S | expand

Commit Message

Palmer Dabbelt Jan. 27, 2018, 3:57 a.m. UTC
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

Andreas Schwab Feb. 5, 2018, 9:15 a.m. UTC | #1
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.
Palmer Dabbelt Feb. 8, 2018, 9 p.m. UTC | #2
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?
Jim Wilson Feb. 8, 2018, 9:28 p.m. UTC | #3
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
Andreas Schwab Feb. 12, 2018, 9:29 a.m. UTC | #4
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.
diff mbox series

Patch

diff --git a/NEWS b/NEWS
index ecefc5236489..6f3b9b0c8bac 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/README b/README
index d0e99ea7d5a0..81fe52f08dfa 100644
--- a/README
+++ b/README
@@ -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
diff --git a/manual/math.texi b/manual/math.texi
index a9f2a9813832..d19a14b47dc3 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -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