public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v6 00/13] GLIBC LoongArch PATCHES
@ 2022-07-08  6:52 caiyinyu
  2022-07-08  6:52 ` [PATCH v6 01/13] LoongArch: Update NEWS and README for the LoongArch port caiyinyu
                   ` (13 more replies)
  0 siblings, 14 replies; 40+ messages in thread
From: caiyinyu @ 2022-07-08  6:52 UTC (permalink / raw)
  To: libc-alpha; +Cc: joseph_myers, adhemerval.zanella, caiyinyu

Hello, these are LoongArch patches v6, 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 patches v5: https://sourceware.org/pipermail/libc-alpha/2022-June/139262.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:
glibc:		https://github.com/loongson/glibc/tree/loongarch_2_36_upstream_v6
binutils:	https://github.com/loongson/binutils-gdb/tree/dev/new_reloc
gcc:	        https://github.com/loongson/gcc/tree/dev/new_reloc

Linux kernel, GCC and Binutils Loongarch parts have been into GNU Open Source community.
And there are some new designs about relocations in binutils and gcc which will be merged into
master soon.

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
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/test-cond-printers
UNSUPPORTED: nptl/test-condattr-printers
UNSUPPORTED: nptl/test-mutex-printers
UNSUPPORTED: nptl/test-mutexattr-printers
UNSUPPORTED: nptl/test-rwlock-printers
UNSUPPORTED: nptl/test-rwlockattr-printers
UNSUPPORTED: nptl/tst-rseq-nptl
UNSUPPORTED: stdlib/tst-secure-getenv
UNSUPPORTED: time/tst-clock_settime
UNSUPPORTED: time/tst-settimeofday
Summary of test results:
   4576 PASS
     20 UNSUPPORTED
     14 XFAIL
      4 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                   |   54 +
 sysdeps/loongarch/dl-machine.h                |  287 +++
 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                     |   66 +
 sysdeps/loongarch/sys/asm.h                   |   59 +
 sysdeps/loongarch/sys/ifunc.h                 |   30 +
 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    | 2153 +++++++++++++++++
 .../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 +
 111 files changed, 9837 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/ifunc.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


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2023-09-13 11:07 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-08  6:52 [PATCH v6 00/13] GLIBC LoongArch PATCHES caiyinyu
2022-07-08  6:52 ` [PATCH v6 01/13] LoongArch: Update NEWS and README for the LoongArch port caiyinyu
2022-07-12 11:06   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 02/13] LoongArch: Add LoongArch entries to config.h.in caiyinyu
2022-07-12 18:51   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 03/13] LoongArch: Add relocations and ELF flags to elf.h and scripts/glibcelf.py caiyinyu
2022-07-12 19:27   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 04/13] LoongArch: ABI Implementation caiyinyu
2022-07-12 20:39   ` Adhemerval Zanella Netto
2022-07-15  1:46     ` caiyinyu
2022-07-08  6:52 ` [PATCH v6 05/13] LoongArch: Thread-Local Storage Support caiyinyu
2022-07-13 13:10   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 06/13] LoongArch: Generic <math.h> and soft-fp Routines caiyinyu
2022-07-13 13:25   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 07/13] LoongArch: Atomic and Locking Routines caiyinyu
2022-07-13 13:53   ` Adhemerval Zanella Netto
2022-07-15  1:46     ` caiyinyu
2022-07-08  6:52 ` [PATCH v6 08/13] LoongArch: Linux Syscall Interface caiyinyu
2022-07-13 16:19   ` Adhemerval Zanella Netto
2023-09-13 11:05     ` caiyinyu
2022-07-08  6:52 ` [PATCH v6 09/13] LoongArch: Linux ABI caiyinyu
2022-07-13 16:35   ` Adhemerval Zanella Netto
2022-07-15  1:48     ` caiyinyu
2022-07-08  6:52 ` [PATCH v6 10/13] LoongArch: Add ABI Lists caiyinyu
2022-07-13 17:12   ` Adhemerval Zanella Netto
2022-07-08  6:52 ` [PATCH v6 11/13] LoongArch: Build Infastructure caiyinyu
2022-07-13  3:07   ` Xi Ruoyao
2022-07-13  3:43     ` WANG Xuerui
2022-07-13  7:51       ` caiyinyu
2022-07-13 17:48   ` Adhemerval Zanella Netto
2022-07-15  1:49     ` caiyinyu
2022-07-08  6:52 ` [PATCH v6 12/13] LoongArch: Hard Float Support caiyinyu
2022-07-13 19:22   ` Adhemerval Zanella Netto
2022-07-14 13:00     ` caiyinyu
2022-07-08  7:13 ` [PATCH v6 00/13] GLIBC LoongArch PATCHES Xi Ruoyao
2022-07-08  7:15   ` Xi Ruoyao
2022-07-13 19:55   ` Adhemerval Zanella Netto
2022-07-14 11:33     ` Xi Ruoyao
2022-07-14 12:11       ` Adhemerval Zanella Netto
2022-07-18 13:54 ` Carlos O'Donell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).