RISC-V: Build Infastructure

System Internals / glibc - Palmer Dabbelt [dabbelt.com] - 29 January 2018 18:43 EST

This patch lays out the top-level orginazition of the RISC-V port. It contains all the Implies files as well as various other fragments of build infastructure for the RISC-V port. This contains the only change to a shared file: config.h.in.

RISC-V is a family of base ISAs with optional extensions. The base ISAs are RV32I and RV64I, which are 32-bit and 64-bit integer-only ISAs, but this port currently only supports RV64I based systems. Support for RISC-V lives in in sysdeps/riscv. In addition to these ISAs, our glibc port supports most of the currently-defined extensions: the A extension for atomics, the M extension for multiplication, the C extension for compressed instructions, and the F/D extensions for single/double precision IEEE floating-point. Most of these extensions are handled by GCC, but glibc defines various floating-point wrappers and emulation routines as well as some atomic wrappers.

We support running glibc-based programs on Linux, the support for which lives in sysdeps/unix/sysv/linux/riscv.

2018-01-29 Palmer Dabbelt

- sysdeps/riscv/Implies: New file.
- sysdeps/riscv/Makefile: Likewise.
- sysdeps/riscv/configure: Likewise.
- sysdeps/riscv/configure.ac: Likewise.
- sysdeps/riscv/nptl/Makefile: Likewise.
- sysdeps/riscv/preconfigure: Likewise.
- sysdeps/riscv/rv64/Implies-after: Likewise.
- sysdeps/riscv/rv64/rvd/Implies: Likewise.
- sysdeps/riscv/rv64/rvf/Implies: Likewise.
- sysdeps/unix/sysv/linux/riscv/Implies: Likewise.
- sysdeps/unix/sysv/linux/riscv/Makefile: Likewise.
- sysdeps/unix/sysv/linux/riscv/Versions: Likewise.
- sysdeps/unix/sysv/linux/riscv/configure: Likewise.
- sysdeps/unix/sysv/linux/riscv/configure.ac: Likewise.
- sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed: Likewise.
- sysdeps/unix/sysv/linux/riscv/rv64/Implies: Likewise.
- sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Likewise.
- sysdeps/unix/sysv/linux/riscv/shlib-versions: Likewise.

c506155709 RISC-V: Build Infastructure
ChangeLog | 18 +++
sysdeps/riscv/Implies | 5 +
sysdeps/riscv/Makefile | 7 +
sysdeps/riscv/configure | 4 +
sysdeps/riscv/configure.ac | 4 +
sysdeps/riscv/nptl/Makefile | 26 +++
sysdeps/riscv/preconfigure | 71 +++++++++
sysdeps/riscv/rv64/Implies-after | 1 +
sysdeps/riscv/rv64/rvd/Implies | 3 +
sysdeps/riscv/rv64/rvf/Implies | 1 +
sysdeps/unix/sysv/linux/riscv/Implies | 1 +
sysdeps/unix/sysv/linux/riscv/Makefile | 25 +++
sysdeps/unix/sysv/linux/riscv/Versions | 11 ++
sysdeps/unix/sysv/linux/riscv/configure | 219 ++++++++++++++++++++++++++
sysdeps/unix/sysv/linux/riscv/configure.ac | 38 +++++
sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed | 1 +
sysdeps/unix/sysv/linux/riscv/rv64/Implies | 3 +
sysdeps/unix/sysv/linux/riscv/rv64/Makefile | 4 +
sysdeps/unix/sysv/linux/riscv/shlib-versions | 9 ++
19 files changed, 451 insertions(+)

Upstream: sourceware.org


  • Share