[v2,01/15] RISC-V: Build Infastructure

Message ID mhng-a5088a76-71eb-4554-acfc-d08e6c6719bc@palmer-si-x1c4
State New, archived
Headers

Commit Message

Palmer Dabbelt Dec. 23, 2017, 3:41 a.m. UTC
  On Wed, 20 Dec 2017 08:43:18 PST (-0800), joseph@codesourcery.com wrote:
> Another observation:
>
> Since you're using ldbl-128, that presumably means _Float128 and _Float64x
> type names are supported with the same format as long double.  So you need
> to add RISC-V to the list in manual/math.texi of ports for which those
> type names and associated interfaces are supported.

That's our intent.  How does this look?
  

Comments

Joseph Myers Dec. 23, 2017, 12:53 p.m. UTC | #1
On Fri, 22 Dec 2017, Palmer Dabbelt wrote:

> On Wed, 20 Dec 2017 08:43:18 PST (-0800), joseph@codesourcery.com wrote:
> > Another observation:
> > 
> > Since you're using ldbl-128, that presumably means _Float128 and _Float64x
> > type names are supported with the same format as long double.  So you need
> > to add RISC-V to the list in manual/math.texi of ports for which those
> > type names and associated interfaces are supported.
> 
> That's our intent.  How does this look?

This seems reasonable.

> How does this look?

Likewise.
  

Patch

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

> I don't think you strictly need to add it to the similar lists for
> _Float128 and _Float64x support in the NEWS section for glibc 2.27, since
> the whole port is new rather than this being a new feature for an existing
> port in the RISC-V case.  However, the patch series needs to include a
> patch adding a NEWS item about the port, and the port also needs to be
> added to the list in the README file of supported glibc configurations
> using the Linux kernel.

How does this look?

commit 462ad608e82fa7a4c340f05dc6c300610282d8d9
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Fri Dec 22 19:33:57 2017 -0800

    NEWS and README

diff --git a/NEWS b/NEWS
index a43ff26e83cf..a7476265ca9e 100644
--- a/NEWS
+++ b/NEWS
@@ -40,13 +40,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.
@@ -67,6 +67,17 @@  Major new features:
   collation ordering.  Previous glibc versions used locale-specific
   ordering, the change might break systems that relied on that.

+* 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:
+
+    - rv32imac ilp32
+    - rv32imafdc ilp32
+    - rv32imafdc ilp32d
+    - rv64imac lp64
+    - rv64imafdc lp64
+    - rv64imafdc lp64d
+
 Deprecated and removed features, and other changes affecting compatibility:

 * On GNU/Linux, the obsolete Linux constant PTRACE_SEIZE_DEVEL is no longer
diff --git a/README b/README
index c3d17d137887..4ab2bfc6f4c4 100644
--- a/README
+++ b/README
@@ -39,6 +39,8 @@  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
+	riscv32-*-linux-gnu
+	riscv64-*-linux-gnu
 	sh[34]-*-linux-gnu
 	sparc*-*-linux-gnu
 	sparc64*-*-linux-gnu