This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2 01/15] RISC-V: Build Infastructure
- From: Palmer Dabbelt <palmer at dabbelt dot com>
- To: joseph at codesourcery dot com
- Cc: libc-alpha at sourceware dot org, Andrew Waterman <andrew at sifive dot com>, Darius Rad <darius at bluespec dot com>, dj at redhat dot com
- Date: Fri, 22 Dec 2017 19:41:53 -0800 (PST)
- Subject: Re: [PATCH v2 01/15] RISC-V: Build Infastructure
- Authentication-results: sourceware.org; auth=none
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?
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