This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]