From: caiyinyu <caiyinyu@loongson.cn>
To: libc-alpha@sourceware.org
Cc: joseph_myers@mentor.com, xuchenghua@loongson.cn,
caiyinyu@loongson.cn, adhemerval.zanella@linaro.org
Subject: [PATCH v3 00/13] GLIBC LoongArch PATCHES
Date: Mon, 9 May 2022 10:25:58 +0800 [thread overview]
Message-ID: <20220509022611.1248063-1-caiyinyu@loongson.cn> (raw)
Hello, these are LoongArch patches v4, 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-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_v4
GCC and Binutils Loongarch parts have been into GNU Open Source community.
Loongarch kernal may be no problem on 5.19:
https://lore.kernel.org/linux-arch/20220319142759.1026237-1-chenhuacai@loongson.cn/T/#m9d06c1882053c313ced32eaddda61e2514c712e8
---------------------------------------------------------------------------
* Re: [PATCH V8 00/22] arch: Add basic LoongArch support
2022-03-21 21:55 ` Arnd Bergmann
@ 2022-03-21 22:03 ` Linus Torvalds
0 siblings, 0 replies; 46+ messages in thread
From: Linus Torvalds @ 2022-03-21 22:03 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Huacai Chen, Andy Lutomirski, Thomas Gleixner, Peter Zijlstra,
Andrew Morton, David Airlie, Jonathan Corbet, linux-arch,
open list:DOCUMENTATION, Linux Kernel Mailing List, Xuefeng Li,
Yanteng Si, Huacai Chen, Jiaxun Yang, Huacai Chen
On Mon, Mar 21, 2022 at 2:55 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> I can prepare a pull request when it gets to that, but I think the boot protocol
> should be fixed first, and that makes it 5.19 material.
Thanks. No problem on 5.19, it's not like I don't have enough pending
for this merge window already..
Linus
---------------------------------------------------------------------------
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/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:
4556 PASS
20 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 | 9 +
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 | 362 +++
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 | 47 +
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 | 303 +++
.../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 | 2139 +++++++++++++++++
.../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 +
109 files changed, 9815 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/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
next reply other threads:[~2022-05-09 2:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-09 2:25 caiyinyu [this message]
2022-05-09 2:25 ` [PATCH v4 01/13] LoongArch: Update NEWS and README for the LoongArch port caiyinyu
2022-05-11 17:05 ` Adhemerval Zanella
2022-05-09 2:26 ` [PATCH v4 02/13] LoongArch: Add LoongArch entries to config.h.in caiyinyu
2022-05-09 2:26 ` [PATCH v4 03/13] LoongArch: Add relocations and ELF flags to elf.h and scripts/glibcelf.py caiyinyu
2022-05-09 2:26 ` [PATCH v4 04/13] LoongArch: ABI Implementation caiyinyu
2022-05-09 2:26 ` [PATCH v4 05/13] LoongArch: Thread-Local Storage Support caiyinyu
2022-05-09 2:26 ` [PATCH v4 06/13] LoongArch: Generic <math.h> and soft-fp Routines caiyinyu
2022-05-09 2:26 ` [PATCH v4 07/13] LoongArch: Atomic and Locking Routines caiyinyu
2022-05-09 2:26 ` [PATCH v4 08/13] LoongArch: Linux Syscall Interface caiyinyu
2022-05-11 7:02 ` Arnd Bergmann
2022-05-11 13:20 ` Adhemerval Zanella
2022-05-15 7:53 ` caiyinyu
2022-05-16 18:44 ` Adhemerval Zanella
2022-05-09 2:26 ` [PATCH v4 09/13] LoongArch: Linux ABI caiyinyu
2022-05-11 7:08 ` Arnd Bergmann
2022-05-11 13:27 ` Adhemerval Zanella
2022-05-11 17:32 ` Joseph Myers
2022-05-15 3:32 ` caiyinyu
2022-05-16 18:49 ` Adhemerval Zanella
2022-05-18 3:40 ` caiyinyu
2022-05-18 7:33 ` Arnd Bergmann
2022-05-09 2:26 ` [PATCH v4 10/13] LoongArch: Add ABI Lists caiyinyu
2022-05-10 19:37 ` [PATCH v3 00/13] GLIBC LoongArch PATCHES Florian Weimer
2022-05-10 20:33 ` Joseph Myers
2022-05-11 6:57 ` Arnd Bergmann
2022-05-11 13:17 ` Adhemerval Zanella
-- strict thread matches above, loose matches on Subject: below --
2022-04-15 1:31 caiyinyu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220509022611.1248063-1-caiyinyu@loongson.cn \
--to=caiyinyu@loongson.cn \
--cc=adhemerval.zanella@linaro.org \
--cc=joseph_myers@mentor.com \
--cc=libc-alpha@sourceware.org \
--cc=xuchenghua@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).