[PATCH v5 00/13] GLIBC LoongArch PATCHES
caiyinyu
caiyinyu@loongson.cn
Wed Jun 1 02:18:23 GMT 2022
Hello, these are LoongArch patches v5, and we really need your futher suggestions:
HISTORY:
LoongArch patches v1: https://sourceware.org/pipermail/libc-alpha/2021-August/130262.html
LoongArch patches v2: https://sourceware.org/pipermail/libc-alpha/2021-December/134811.html
LoongArch patches v3: https://sourceware.org/pipermail/libc-alpha/2022-April/137888.html
LoongArch patches v4: https://sourceware.org/pipermail/libc-alpha/2022-May/subject.html
LoongArch-Doc: https://github.com/loongson/LoongArch-Documentation
We add new section: procedure calling convention.
https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_procedure_calling_convention
Source code:
linux: https://github.com/loongson/linux/tree/loongarch-next
glibc: https://github.com/loongson/glibc/tree/loongarch_2_36_upstream_v5
GCC and Binutils Loongarch parts have been into GNU Open Source community.
Loongarch kernal has been into linux-next.
test result: all passed.
XPASS: conform/UNIX98/ndbm.h/linknamespace
XPASS: conform/XOPEN2K/ndbm.h/linknamespace
XPASS: conform/XOPEN2K8/ndbm.h/linknamespace
XPASS: conform/XPG42/ndbm.h/linknamespace
UNSUPPORTED: crypt/cert
UNSUPPORTED: elf/tst-env-setuid
UNSUPPORTED: elf/tst-env-setuid-tunables
XPASS: elf/tst-protected1a
XPASS: elf/tst-protected1b
UNSUPPORTED: elf/tst-valgrind-smoke
UNSUPPORTED: misc/tst-adjtimex
UNSUPPORTED: misc/tst-clock_adjtime
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: misc/tst-pkey
UNSUPPORTED: misc/tst-rseq
UNSUPPORTED: misc/tst-rseq-disable
UNSUPPORTED: nptl/tst-rseq-nptl
UNSUPPORTED: stdlib/tst-secure-getenv
UNSUPPORTED: time/tst-clock_settime
UNSUPPORTED: time/tst-settimeofday
Summary of test results:
4574 PASS
14 UNSUPPORTED
12 XFAIL
6 XPASS
caiyinyu (13):
LoongArch: Update NEWS and README for the LoongArch port.
LoongArch: Add LoongArch entries to config.h.in
LoongArch: Add relocations and ELF flags to elf.h and
scripts/glibcelf.py
LoongArch: ABI Implementation
LoongArch: Thread-Local Storage Support
LoongArch: Generic <math.h> and soft-fp Routines
LoongArch: Atomic and Locking Routines
LoongArch: Linux Syscall Interface
LoongArch: Linux ABI
LoongArch: Add ABI Lists
LoongArch: Build Infastructure
LoongArch: Hard Float Support
LoongArch: Update build-many-glibcs.py for the LoongArch Port.
NEWS | 8 +
README | 1 +
config.h.in | 6 +
elf/elf.h | 68 +-
manual/math.texi | 2 +-
scripts/build-many-glibcs.py | 5 +
scripts/glibcelf.py | 3 +-
sysdeps/loongarch/Implies | 3 +
sysdeps/loongarch/Makefile | 15 +
sysdeps/loongarch/__longjmp.S | 52 +
sysdeps/loongarch/abort-instr.h | 2 +
sysdeps/loongarch/bits/endianness.h | 11 +
sysdeps/loongarch/bits/fenv.h | 90 +
sysdeps/loongarch/bits/link.h | 58 +
sysdeps/loongarch/bits/setjmp.h | 42 +
sysdeps/loongarch/bsd-_setjmp.c | 1 +
sysdeps/loongarch/bsd-setjmp.c | 1 +
sysdeps/loongarch/configure | 5 +
sysdeps/loongarch/configure.ac | 6 +
sysdeps/loongarch/dl-irel.h | 48 +
sysdeps/loongarch/dl-machine.h | 307 +++
sysdeps/loongarch/dl-tls.h | 46 +
sysdeps/loongarch/dl-trampoline.S | 91 +
sysdeps/loongarch/e_sqrtl.c | 38 +
sysdeps/loongarch/fpu/fclrexcpt.c | 46 +
sysdeps/loongarch/fpu/fedisblxcpt.c | 39 +
sysdeps/loongarch/fpu/feenablxcpt.c | 39 +
sysdeps/loongarch/fpu/fegetenv.c | 31 +
sysdeps/loongarch/fpu/fegetexcept.c | 32 +
sysdeps/loongarch/fpu/fegetmode.c | 27 +
sysdeps/loongarch/fpu/fegetround.c | 33 +
sysdeps/loongarch/fpu/feholdexcpt.c | 40 +
sysdeps/loongarch/fpu/fenv_libc.h | 30 +
sysdeps/loongarch/fpu/fesetenv.c | 42 +
sysdeps/loongarch/fpu/fesetexcept.c | 32 +
sysdeps/loongarch/fpu/fesetmode.c | 38 +
sysdeps/loongarch/fpu/fesetround.c | 44 +
sysdeps/loongarch/fpu/feupdateenv.c | 43 +
sysdeps/loongarch/fpu/fgetexcptflg.c | 38 +
sysdeps/loongarch/fpu/fraiseexcpt.c | 75 +
sysdeps/loongarch/fpu/fsetexcptflg.c | 41 +
sysdeps/loongarch/fpu/ftestexcept.c | 32 +
.../loongarch/fpu/math-use-builtins-sqrt.h | 4 +
sysdeps/loongarch/fpu_control.h | 102 +
sysdeps/loongarch/hp-timing.h | 42 +
sysdeps/loongarch/jmpbuf-offsets.h | 22 +
sysdeps/loongarch/jmpbuf-unwind.h | 45 +
sysdeps/loongarch/ldsodefs.h | 41 +
sysdeps/loongarch/libc-tls.c | 32 +
sysdeps/loongarch/linkmap.h | 22 +
sysdeps/loongarch/lp64/Implies-after | 1 +
sysdeps/loongarch/lp64/libm-test-ulps | 1412 +++++++++++
sysdeps/loongarch/lp64/libm-test-ulps-name | 1 +
sysdeps/loongarch/machine-gmon.h | 37 +
sysdeps/loongarch/math_private.h | 248 ++
sysdeps/loongarch/nptl/Makefile | 21 +
sysdeps/loongarch/nptl/pthreaddef.h | 32 +
sysdeps/loongarch/nptl/tcb-offsets.sym | 6 +
sysdeps/loongarch/nptl/tls.h | 138 ++
sysdeps/loongarch/preconfigure | 52 +
sysdeps/loongarch/preconfigure.ac | 46 +
sysdeps/loongarch/setjmp.S | 66 +
sysdeps/loongarch/sfp-machine.h | 102 +
sysdeps/loongarch/sotruss-lib.c | 50 +
sysdeps/loongarch/stackinfo.h | 33 +
sysdeps/loongarch/start.S | 67 +
sysdeps/loongarch/sys/asm.h | 59 +
sysdeps/loongarch/sys/regdef.h | 93 +
sysdeps/loongarch/tininess.h | 1 +
sysdeps/loongarch/tst-audit.h | 23 +
sysdeps/unix/sysv/linux/loongarch/Implies | 1 +
sysdeps/unix/sysv/linux/loongarch/Makefile | 4 +
.../unix/sysv/linux/loongarch/arch-syscall.h | 301 +++
.../sysv/linux/loongarch/atomic-machine.h | 181 ++
.../unix/sysv/linux/loongarch/bits/fcntl.h | 61 +
.../unix/sysv/linux/loongarch/bits/procfs.h | 52 +
.../linux/loongarch/bits/pthread_stack_min.h | 20 +
.../unix/sysv/linux/loongarch/bits/sigstack.h | 32 +
sysdeps/unix/sysv/linux/loongarch/clone.S | 96 +
sysdeps/unix/sysv/linux/loongarch/clone3.S | 83 +
sysdeps/unix/sysv/linux/loongarch/configure | 174 ++
.../unix/sysv/linux/loongarch/configure.ac | 22 +
.../unix/sysv/linux/loongarch/getcontext.S | 59 +
sysdeps/unix/sysv/linux/loongarch/ldconfig.h | 26 +
.../unix/sysv/linux/loongarch/ldd-rewrite.sed | 3 +
.../unix/sysv/linux/loongarch/localplt.data | 12 +
.../unix/sysv/linux/loongarch/lp64/Implies | 3 +
.../sysv/linux/loongarch/lp64/c++-types.data | 67 +
.../unix/sysv/linux/loongarch/lp64/ld.abilist | 8 +
.../loongarch/lp64/libBrokenLocale.abilist | 1 +
.../sysv/linux/loongarch/lp64/libc.abilist | 2142 +++++++++++++++++
.../loongarch/lp64/libc_malloc_debug.abilist | 26 +
.../linux/loongarch/lp64/libcrypt.abilist | 2 +
.../sysv/linux/loongarch/lp64/libm.abilist | 1031 ++++++++
.../linux/loongarch/lp64/libpthread.abilist | 0
.../linux/loongarch/lp64/libresolv.abilist | 55 +
.../sysv/linux/loongarch/lp64/librt.abilist | 0
.../linux/loongarch/lp64/libthread_db.abilist | 40 +
.../unix/sysv/linux/loongarch/makecontext.c | 79 +
.../unix/sysv/linux/loongarch/setcontext.S | 100 +
.../unix/sysv/linux/loongarch/shlib-versions | 7 +
.../sysv/linux/loongarch/sigcontextinfo.h | 32 +
.../unix/sysv/linux/loongarch/swapcontext.S | 95 +
.../unix/sysv/linux/loongarch/sys/ucontext.h | 61 +
sysdeps/unix/sysv/linux/loongarch/sys/user.h | 42 +
sysdeps/unix/sysv/linux/loongarch/sysdep.S | 53 +
sysdeps/unix/sysv/linux/loongarch/sysdep.h | 321 +++
.../sysv/linux/loongarch/ucontext-macros.h | 32 +
.../unix/sysv/linux/loongarch/ucontext_i.sym | 31 +
sysdeps/unix/sysv/linux/loongarch/vfork.S | 50 +
110 files changed, 9811 insertions(+), 3 deletions(-)
create mode 100644 sysdeps/loongarch/Implies
create mode 100644 sysdeps/loongarch/Makefile
create mode 100644 sysdeps/loongarch/__longjmp.S
create mode 100644 sysdeps/loongarch/abort-instr.h
create mode 100644 sysdeps/loongarch/bits/endianness.h
create mode 100644 sysdeps/loongarch/bits/fenv.h
create mode 100644 sysdeps/loongarch/bits/link.h
create mode 100644 sysdeps/loongarch/bits/setjmp.h
create mode 100644 sysdeps/loongarch/bsd-_setjmp.c
create mode 100644 sysdeps/loongarch/bsd-setjmp.c
create mode 100644 sysdeps/loongarch/configure
create mode 100644 sysdeps/loongarch/configure.ac
create mode 100644 sysdeps/loongarch/dl-irel.h
create mode 100644 sysdeps/loongarch/dl-machine.h
create mode 100644 sysdeps/loongarch/dl-tls.h
create mode 100644 sysdeps/loongarch/dl-trampoline.S
create mode 100644 sysdeps/loongarch/e_sqrtl.c
create mode 100644 sysdeps/loongarch/fpu/fclrexcpt.c
create mode 100644 sysdeps/loongarch/fpu/fedisblxcpt.c
create mode 100644 sysdeps/loongarch/fpu/feenablxcpt.c
create mode 100644 sysdeps/loongarch/fpu/fegetenv.c
create mode 100644 sysdeps/loongarch/fpu/fegetexcept.c
create mode 100644 sysdeps/loongarch/fpu/fegetmode.c
create mode 100644 sysdeps/loongarch/fpu/fegetround.c
create mode 100644 sysdeps/loongarch/fpu/feholdexcpt.c
create mode 100644 sysdeps/loongarch/fpu/fenv_libc.h
create mode 100644 sysdeps/loongarch/fpu/fesetenv.c
create mode 100644 sysdeps/loongarch/fpu/fesetexcept.c
create mode 100644 sysdeps/loongarch/fpu/fesetmode.c
create mode 100644 sysdeps/loongarch/fpu/fesetround.c
create mode 100644 sysdeps/loongarch/fpu/feupdateenv.c
create mode 100644 sysdeps/loongarch/fpu/fgetexcptflg.c
create mode 100644 sysdeps/loongarch/fpu/fraiseexcpt.c
create mode 100644 sysdeps/loongarch/fpu/fsetexcptflg.c
create mode 100644 sysdeps/loongarch/fpu/ftestexcept.c
create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-sqrt.h
create mode 100644 sysdeps/loongarch/fpu_control.h
create mode 100644 sysdeps/loongarch/hp-timing.h
create mode 100644 sysdeps/loongarch/jmpbuf-offsets.h
create mode 100644 sysdeps/loongarch/jmpbuf-unwind.h
create mode 100644 sysdeps/loongarch/ldsodefs.h
create mode 100644 sysdeps/loongarch/libc-tls.c
create mode 100644 sysdeps/loongarch/linkmap.h
create mode 100644 sysdeps/loongarch/lp64/Implies-after
create mode 100644 sysdeps/loongarch/lp64/libm-test-ulps
create mode 100644 sysdeps/loongarch/lp64/libm-test-ulps-name
create mode 100644 sysdeps/loongarch/machine-gmon.h
create mode 100644 sysdeps/loongarch/math_private.h
create mode 100644 sysdeps/loongarch/nptl/Makefile
create mode 100644 sysdeps/loongarch/nptl/pthreaddef.h
create mode 100644 sysdeps/loongarch/nptl/tcb-offsets.sym
create mode 100644 sysdeps/loongarch/nptl/tls.h
create mode 100644 sysdeps/loongarch/preconfigure
create mode 100644 sysdeps/loongarch/preconfigure.ac
create mode 100644 sysdeps/loongarch/setjmp.S
create mode 100644 sysdeps/loongarch/sfp-machine.h
create mode 100644 sysdeps/loongarch/sotruss-lib.c
create mode 100644 sysdeps/loongarch/stackinfo.h
create mode 100644 sysdeps/loongarch/start.S
create mode 100644 sysdeps/loongarch/sys/asm.h
create mode 100644 sysdeps/loongarch/sys/regdef.h
create mode 100644 sysdeps/loongarch/tininess.h
create mode 100644 sysdeps/loongarch/tst-audit.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/Implies
create mode 100644 sysdeps/unix/sysv/linux/loongarch/Makefile
create mode 100644 sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/atomic-machine.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/bits/fcntl.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/bits/procfs.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/bits/pthread_stack_min.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/bits/sigstack.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/clone.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/clone3.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/configure
create mode 100644 sysdeps/unix/sysv/linux/loongarch/configure.ac
create mode 100644 sysdeps/unix/sysv/linux/loongarch/getcontext.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/ldconfig.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/ldd-rewrite.sed
create mode 100644 sysdeps/unix/sysv/linux/loongarch/localplt.data
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/Implies
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/c++-types.data
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/ld.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libBrokenLocale.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libc_malloc_debug.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libcrypt.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libpthread.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libresolv.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/librt.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libthread_db.abilist
create mode 100644 sysdeps/unix/sysv/linux/loongarch/makecontext.c
create mode 100644 sysdeps/unix/sysv/linux/loongarch/setcontext.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/shlib-versions
create mode 100644 sysdeps/unix/sysv/linux/loongarch/sigcontextinfo.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/swapcontext.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/sys/ucontext.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/sys/user.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/sysdep.S
create mode 100644 sysdeps/unix/sysv/linux/loongarch/sysdep.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/ucontext-macros.h
create mode 100644 sysdeps/unix/sysv/linux/loongarch/ucontext_i.sym
create mode 100644 sysdeps/unix/sysv/linux/loongarch/vfork.S
--
2.31.1
More information about the Libc-alpha
mailing list