This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2 00/12] RISC-V glibc port for the 32 bit
- From: Palmer Dabbelt <palmer at sifive dot com>
- To: zong at andestech dot com
- Cc: joseph at codesourcery dot com, Darius Rad <darius at bluespec dot com>, Andrew Waterman <andrew at sifive dot com>, dj at redhat dot com, rth at twiddle dot net, libc-alpha at sourceware dot org, rth7680 at gmail dot com, zongbox at gmail dot com, zong at andestech dot com
- Date: Thu, 19 Jul 2018 10:18:48 -0700 (PDT)
- Subject: Re: [PATCH v2 00/12] RISC-V glibc port for the 32 bit
On Mon, 16 Jul 2018 22:07:46 PDT (-0700), zong@andestech.com wrote:
This patch set contains the glibc port for the 32 bit RISC-V. I ran the glibc
test suite on QEMU, and remained the failed cases which caused by environment
issue like 64 bit glibc port. In addition, there are some math test cases
need to be checked but it looks unlike glibc's problem.
There is a patch to fix the ld flags issue of tst-execstack-mod.so, it
cause the fail on some test cases on RISC-V. In the v1 patch, I don't include
this patch into patch set, in v2, I collect all patches together.
There is a patch to add lack of implementation of 128 bit for soft-fp, these
are necessary for building 32 bit RISC-V port.
Thanks everyone for the help and Palmer's efforts during this work.
Sorry I've been a bit slow here, things have been very busy in embedded land
for the last few months. The good news is that we've now got a handful of
software people at SiFive so I should be able to schedule a lot more time to do
my due diligence on things like this as we move forward.
I should have time to dig through this over the weekend.
Thanks for the patches!
Change in V2:
- Only include the ieee754/soft-fp path in rv32/nofpu/Implies.
- Add lack of implementation for 128 bit in soft-ft/op-8.h.
- Include the patch which fix the ld flags of tst-execstack-mod.so.
- Add the modification of URL of gcc's tarball.
Zong Li (12):
Documentation for the 32 bit RISC-V port
RISC-V: Add dynamic loader for the 32 bit
RISC-V: Add path of library directories for the 32 bit
RISC-V: The ABI implementation for the 32-bit
RISC-V: Hard float support for the 32 bit
RISC-V: Split the soft-fp into rv32 and rv64
RISC-V: Add ABI lists
RISC-V: Build Infastructure for the 32 bit
Add 32 bit RISC-V to build-many-glibcs.py
soft-fp: Add the lack of implementation for 128 bit
Fix the ld flags not be applied to tst-execstack-mod.so
Change URL of gcc's tarball
NEWS | 3 +
README | 1 +
elf/Makefile | 2 +-
scripts/build-many-glibcs.py | 17 +-
soft-fp/op-8.h | 176 ++
sysdeps/riscv/bits/wordsize.h | 4 +-
sysdeps/riscv/nofpu/Implies | 1 -
sysdeps/riscv/nofpu/libm-test-ulps | 2198 --------------------
sysdeps/riscv/nofpu/libm-test-ulps-name | 1 -
sysdeps/riscv/nptl/bits/pthreadtypes-arch.h | 25 +-
sysdeps/riscv/preconfigure | 6 +-
sysdeps/riscv/rv32/Implies-after | 1 +
sysdeps/riscv/rv32/nofpu/Implies | 1 +
sysdeps/riscv/rv32/nofpu/libm-test-ulps | 534 +++++
sysdeps/riscv/rv32/nofpu/libm-test-ulps-name | 1 +
sysdeps/riscv/rv32/rvd/Implies | 3 +
sysdeps/riscv/rv32/rvd/libm-test-ulps | 1658 +++++++++++++++
sysdeps/riscv/rv32/rvd/libm-test-ulps-name | 1 +
sysdeps/riscv/rv32/rvd/s_lrint.c | 31 +
sysdeps/riscv/rv32/rvd/s_lround.c | 31 +
sysdeps/riscv/rv32/rvf/Implies | 1 +
sysdeps/riscv/rv32/rvf/s_lrintf.c | 31 +
sysdeps/riscv/rv32/rvf/s_lroundf.c | 31 +
sysdeps/riscv/rv64/nofpu/Implies | 1 +
sysdeps/riscv/rv64/nofpu/libm-test-ulps | 2198 ++++++++++++++++++++
sysdeps/riscv/rv64/nofpu/libm-test-ulps-name | 1 +
sysdeps/riscv/sfp-machine.h | 27 +-
sysdeps/riscv/sys/asm.h | 5 +-
sysdeps/unix/sysv/linux/riscv/Makefile | 4 +-
sysdeps/unix/sysv/linux/riscv/configure | 39 +
sysdeps/unix/sysv/linux/riscv/configure.ac | 8 +
sysdeps/unix/sysv/linux/riscv/dl-cache.h | 15 +-
sysdeps/unix/sysv/linux/riscv/ldconfig.h | 2 +-
sysdeps/unix/sysv/linux/riscv/rv32/Implies | 3 +
sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data | 67 +
.../unix/sysv/linux/riscv/rv32/jmp_buf-macros.h | 53 +
sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist | 9 +
.../sysv/linux/riscv/rv32/libBrokenLocale.abilist | 1 +
sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist | 4 +
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2098 +++++++++++++++++++
.../unix/sysv/linux/riscv/rv32/libcrypt.abilist | 7 +
sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist | 9 +
sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist | 1021 +++++++++
sysdeps/unix/sysv/linux/riscv/rv32/libnsl.abilist | 120 ++
.../unix/sysv/linux/riscv/rv32/libpthread.abilist | 216 ++
.../unix/sysv/linux/riscv/rv32/libresolv.abilist | 79 +
sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist | 35 +
.../sysv/linux/riscv/rv32/libthread_db.abilist | 40 +
sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist | 6 +
sysdeps/unix/sysv/linux/riscv/rv32/lockf64.c | 70 +
sysdeps/unix/sysv/linux/riscv/shlib-versions | 4 +
51 files changed, 8686 insertions(+), 2214 deletions(-)
delete mode 100644 sysdeps/riscv/nofpu/Implies
delete mode 100644 sysdeps/riscv/nofpu/libm-test-ulps
delete mode 100644 sysdeps/riscv/nofpu/libm-test-ulps-name
create mode 100644 sysdeps/riscv/rv32/Implies-after
create mode 100644 sysdeps/riscv/rv32/nofpu/Implies
create mode 100644 sysdeps/riscv/rv32/nofpu/libm-test-ulps
create mode 100644 sysdeps/riscv/rv32/nofpu/libm-test-ulps-name
create mode 100644 sysdeps/riscv/rv32/rvd/Implies
create mode 100644 sysdeps/riscv/rv32/rvd/libm-test-ulps
create mode 100644 sysdeps/riscv/rv32/rvd/libm-test-ulps-name
create mode 100644 sysdeps/riscv/rv32/rvd/s_lrint.c
create mode 100644 sysdeps/riscv/rv32/rvd/s_lround.c
create mode 100644 sysdeps/riscv/rv32/rvf/Implies
create mode 100644 sysdeps/riscv/rv32/rvf/s_lrintf.c
create mode 100644 sysdeps/riscv/rv32/rvf/s_lroundf.c
create mode 100644 sysdeps/riscv/rv64/nofpu/Implies
create mode 100644 sysdeps/riscv/rv64/nofpu/libm-test-ulps
create mode 100644 sysdeps/riscv/rv64/nofpu/libm-test-ulps-name
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/Implies
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/jmp_buf-macros.h
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libBrokenLocale.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libnsl.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libthread_db.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist
create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/lockf64.c