From: Stafford Horne <shorne@gmail.com>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH v4 00/13] Glibc OpenRISC port
Date: Wed, 29 Dec 2021 13:42:38 +0900 [thread overview]
Message-ID: <20211229044251.2203653-1-shorne@gmail.com> (raw)
This is the OpenRISC port for glibc that I have been working on.
Changes since v3:
- Fix suggestion from Paul Eggert
- Fix Docs typo pore/port
- Fixed suggestions from Adhemerval:
- Used ENTRY/END asm macros where missing
- Remove block in dl-machine.h suggesting LD_PROFILE
- Remove jmp_buf-macros.h macros and use new default.
- Remove tcb-offsets.sym file and Makefile reference.
- Remove tcb-offsets.h include in tls.h.
- Define lib-audit register layout inline with other architectures.
- Fix usage of locally defined register in or1k_get_got. Also, fixup
indentation when using or1k_get_got.
- Cleanup abilists after rebasing, adding rseq and removing
empty files.
- Remove prctl and other unused entries in the linux Makefile.
- Fix STACK_ALIGN to 4 bytes, from incorrect copy-n-paste 16 bytes.
- Use default pthreadtypes-arch.h.
- Mention only soft-float supported in NEWS.
- Remove sysdeps/unix/sysv/linux/or1k/bits/timesize.h and use new
default.
Changes since v2:
- Fixed suggestions from Joseph Myers:
- Fix comment style, and description on top of each file
- Make sure macros have parentheses when needed,
- Bump required kernel down to 5.4.0 and document
- Regenerate arch-syscall.h
- Fixed suggestions from Adhemerval:
- Remove kernel_stat.h
- Just set MMAP2_PAGE_UNIT to 8K
- Remove ioctl.c and syscall.c files
- Update TCB alignment to 32 bytes
Changes since v1:
- Update api's as suggested by Florian
- Remove hard float support
- Updates to get all tests passing
- Split patch into managable bits similar to recent ARC port
Documentation:
Architecture / ABI docs:
https://raw.githubusercontent.com/openrisc/doc/master/openrisc-arch-1.3-rev1.pdf
Test Results:
build-many-glibcs.py:
PASS with mainline ang gcc-11.
Full test suite:
This time I ran the test suite with timeout of 300 and with patch for forcing
O_LARGEFILE in open64 [0]. The test has one failure but it seems like flaky
test as it passed after the second run.
# results in file: /home/shorne/work/gnu-toolchain/log/test--20211226-162029.log
# test start: 2021-12-26T16:20:29+09:00
# failures
FAIL: posix/tst-execveat /* Running second time passes */
# test finish: 2021-12-29T12:54:08+09:00
# test duration: 2 days 20 hours 33 minutes and 39 seconds
# test for file: tests.sum
# test wrapper: /home/shorne/work/gnu-toolchain/glibc/scripts/cross-test-ssh.sh --timeoutfactor 300 10.0.0.5
# summary
1 FAIL
4148 PASS
31 UNSUPPORTED
16 XFAIL
2 XPASS
posix/tst-execveat.out:
Timed out: killed the child process
Termination time: 2021-12-29T01:02:42.433964340
Last write to standard output: 2021-12-28T23:22:40.266363000
tests.sum: https://gist.github.com/stffrdhrn/88c1fce0c54350258f1f5869068d015a
[0] https://sourceware.org/pipermail/libc-alpha/2021-December/134634.html
Stafford Horne (13):
elf: Add reloc for OpenRISC
linux/syscalls: Add or1k_atomic syscall for OpenRISC
or1k: ABI Implementation
or1k: startup and dynamic linking code
or1k: Thread Local Storage support
or1k: Atomics and Locking primitives
or1k: math soft float support
or1k: Linux Syscall Interface
or1k: Linux ABI
or1k: ABI lists
or1k: Build Infrastructure
build-many-glibcs.py: add OpenRISC support
Documentation for OpenRISC port
NEWS | 5 +
README | 1 +
elf/elf.h | 37 +
scripts/build-many-glibcs.py | 5 +
sysdeps/or1k/Implies | 3 +
sysdeps/or1k/Makefile | 7 +
sysdeps/or1k/__longjmp.S | 50 +
sysdeps/or1k/atomic-machine.h | 79 +
sysdeps/or1k/bits/endianness.h | 11 +
sysdeps/or1k/bits/fenv.h | 69 +
sysdeps/or1k/bits/link.h | 54 +
sysdeps/or1k/bits/setjmp.h | 32 +
sysdeps/or1k/bsd-_setjmp.S | 1 +
sysdeps/or1k/bsd-setjmp.S | 1 +
sysdeps/or1k/dl-machine.h | 300 +++
sysdeps/or1k/dl-start.S | 98 +
sysdeps/or1k/dl-tls.h | 27 +
sysdeps/or1k/dl-trampoline.S | 73 +
sysdeps/or1k/jmpbuf-offsets.h | 23 +
sysdeps/or1k/jmpbuf-unwind.h | 36 +
sysdeps/or1k/ldsodefs.h | 40 +
sysdeps/or1k/libc-tls.c | 34 +
sysdeps/or1k/libm-test-ulps | 1112 +++++++++
sysdeps/or1k/libm-test-ulps-name | 1 +
sysdeps/or1k/machine-gmon.h | 35 +
sysdeps/or1k/memusage.h | 21 +
sysdeps/or1k/nofpu/Implies | 1 +
sysdeps/or1k/nofpu/math-tests-exceptions.h | 29 +
sysdeps/or1k/nofpu/math-tests-rounding.h | 28 +
sysdeps/or1k/nptl/pthreaddef.h | 36 +
sysdeps/or1k/nptl/tls.h | 184 ++
sysdeps/or1k/preconfigure | 34 +
sysdeps/or1k/setjmp.S | 56 +
sysdeps/or1k/sfp-machine.h | 93 +
sysdeps/or1k/sotruss-lib.c | 51 +
sysdeps/or1k/stackinfo.h | 34 +
sysdeps/or1k/start.S | 99 +
sysdeps/or1k/sysdep.h | 83 +
sysdeps/or1k/tininess.h | 1 +
sysdeps/or1k/tst-audit.h | 24 +
sysdeps/unix/sysv/linux/or1k/Implies | 3 +
sysdeps/unix/sysv/linux/or1k/Makefile | 8 +
sysdeps/unix/sysv/linux/or1k/arch-syscall.h | 325 +++
sysdeps/unix/sysv/linux/or1k/bits/procfs.h | 38 +
sysdeps/unix/sysv/linux/or1k/c++-types.data | 67 +
sysdeps/unix/sysv/linux/or1k/clone.c | 61 +
sysdeps/unix/sysv/linux/or1k/configure | 4 +
sysdeps/unix/sysv/linux/or1k/configure.ac | 4 +
sysdeps/unix/sysv/linux/or1k/getcontext.S | 72 +
sysdeps/unix/sysv/linux/or1k/ld.abilist | 8 +
.../sysv/linux/or1k/libBrokenLocale.abilist | 1 +
sysdeps/unix/sysv/linux/or1k/libc.abilist | 2122 +++++++++++++++++
.../sysv/linux/or1k/libc_malloc_debug.abilist | 26 +
sysdeps/unix/sysv/linux/or1k/libcrypt.abilist | 2 +
sysdeps/unix/sysv/linux/or1k/libm.abilist | 759 ++++++
sysdeps/unix/sysv/linux/or1k/libnsl.abilist | 121 +
.../unix/sysv/linux/or1k/libresolv.abilist | 55 +
.../unix/sysv/linux/or1k/libthread_db.abilist | 40 +
sysdeps/unix/sysv/linux/or1k/localplt.data | 14 +
sysdeps/unix/sysv/linux/or1k/makecontext.c | 77 +
sysdeps/unix/sysv/linux/or1k/mmap_internal.h | 28 +
sysdeps/unix/sysv/linux/or1k/or1k_clone.S | 89 +
sysdeps/unix/sysv/linux/or1k/setcontext.S | 108 +
sysdeps/unix/sysv/linux/or1k/shlib-versions | 2 +
sysdeps/unix/sysv/linux/or1k/sigcontextinfo.h | 28 +
sysdeps/unix/sysv/linux/or1k/swapcontext.S | 116 +
sysdeps/unix/sysv/linux/or1k/sys/ucontext.h | 53 +
sysdeps/unix/sysv/linux/or1k/sys/user.h | 1 +
sysdeps/unix/sysv/linux/or1k/sysdep.c | 34 +
sysdeps/unix/sysv/linux/or1k/sysdep.h | 201 ++
sysdeps/unix/sysv/linux/or1k/ucontext_i.sym | 26 +
sysdeps/unix/sysv/linux/syscall-names.list | 1 +
72 files changed, 7402 insertions(+)
create mode 100644 sysdeps/or1k/Implies
create mode 100644 sysdeps/or1k/Makefile
create mode 100644 sysdeps/or1k/__longjmp.S
create mode 100644 sysdeps/or1k/atomic-machine.h
create mode 100644 sysdeps/or1k/bits/endianness.h
create mode 100644 sysdeps/or1k/bits/fenv.h
create mode 100644 sysdeps/or1k/bits/link.h
create mode 100644 sysdeps/or1k/bits/setjmp.h
create mode 100644 sysdeps/or1k/bsd-_setjmp.S
create mode 100644 sysdeps/or1k/bsd-setjmp.S
create mode 100644 sysdeps/or1k/dl-machine.h
create mode 100644 sysdeps/or1k/dl-start.S
create mode 100644 sysdeps/or1k/dl-tls.h
create mode 100644 sysdeps/or1k/dl-trampoline.S
create mode 100644 sysdeps/or1k/jmpbuf-offsets.h
create mode 100644 sysdeps/or1k/jmpbuf-unwind.h
create mode 100644 sysdeps/or1k/ldsodefs.h
create mode 100644 sysdeps/or1k/libc-tls.c
create mode 100644 sysdeps/or1k/libm-test-ulps
create mode 100644 sysdeps/or1k/libm-test-ulps-name
create mode 100644 sysdeps/or1k/machine-gmon.h
create mode 100644 sysdeps/or1k/memusage.h
create mode 100644 sysdeps/or1k/nofpu/Implies
create mode 100644 sysdeps/or1k/nofpu/math-tests-exceptions.h
create mode 100644 sysdeps/or1k/nofpu/math-tests-rounding.h
create mode 100644 sysdeps/or1k/nptl/pthreaddef.h
create mode 100644 sysdeps/or1k/nptl/tls.h
create mode 100644 sysdeps/or1k/preconfigure
create mode 100644 sysdeps/or1k/setjmp.S
create mode 100644 sysdeps/or1k/sfp-machine.h
create mode 100644 sysdeps/or1k/sotruss-lib.c
create mode 100644 sysdeps/or1k/stackinfo.h
create mode 100644 sysdeps/or1k/start.S
create mode 100644 sysdeps/or1k/sysdep.h
create mode 100644 sysdeps/or1k/tininess.h
create mode 100644 sysdeps/or1k/tst-audit.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/Implies
create mode 100644 sysdeps/unix/sysv/linux/or1k/Makefile
create mode 100644 sysdeps/unix/sysv/linux/or1k/arch-syscall.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/bits/procfs.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/c++-types.data
create mode 100644 sysdeps/unix/sysv/linux/or1k/clone.c
create mode 100644 sysdeps/unix/sysv/linux/or1k/configure
create mode 100644 sysdeps/unix/sysv/linux/or1k/configure.ac
create mode 100644 sysdeps/unix/sysv/linux/or1k/getcontext.S
create mode 100644 sysdeps/unix/sysv/linux/or1k/ld.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libBrokenLocale.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libc.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libc_malloc_debug.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libcrypt.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libm.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libnsl.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libresolv.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/libthread_db.abilist
create mode 100644 sysdeps/unix/sysv/linux/or1k/localplt.data
create mode 100644 sysdeps/unix/sysv/linux/or1k/makecontext.c
create mode 100644 sysdeps/unix/sysv/linux/or1k/mmap_internal.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/or1k_clone.S
create mode 100644 sysdeps/unix/sysv/linux/or1k/setcontext.S
create mode 100644 sysdeps/unix/sysv/linux/or1k/shlib-versions
create mode 100644 sysdeps/unix/sysv/linux/or1k/sigcontextinfo.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/swapcontext.S
create mode 100644 sysdeps/unix/sysv/linux/or1k/sys/ucontext.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/sys/user.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/sysdep.c
create mode 100644 sysdeps/unix/sysv/linux/or1k/sysdep.h
create mode 100644 sysdeps/unix/sysv/linux/or1k/ucontext_i.sym
--
2.31.1
next reply other threads:[~2021-12-29 4:42 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-29 4:42 Stafford Horne [this message]
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 01/13] elf: Add reloc for OpenRISC Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 02/13] linux/syscalls: Add or1k_atomic syscall " Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 03/13] or1k: ABI Implementation Stafford Horne
2021-12-29 4:46 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 04/13] or1k: startup and dynamic linking code Stafford Horne
2022-01-03 18:17 ` Adhemerval Zanella
2022-01-04 1:28 ` Stafford Horne
2022-01-04 3:08 ` Stafford Horne
2022-01-04 12:05 ` Adhemerval Zanella
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 05/13] or1k: Thread Local Storage support Stafford Horne
2022-01-03 18:19 ` Adhemerval Zanella
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 06/13] or1k: Atomics and Locking primitives Stafford Horne
2022-01-03 18:20 ` Adhemerval Zanella
2022-01-04 1:33 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 07/13] or1k: math soft float support Stafford Horne
2022-01-03 18:21 ` Adhemerval Zanella
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 08/13] or1k: Linux Syscall Interface Stafford Horne
2022-01-03 18:21 ` Adhemerval Zanella
2022-01-04 1:36 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 09/13] or1k: Linux ABI Stafford Horne
2022-01-03 18:23 ` Adhemerval Zanella
2022-01-04 1:38 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 10/13] or1k: ABI lists Stafford Horne
2021-12-31 17:45 ` Joseph Myers
2022-01-01 4:54 ` Stafford Horne
2022-01-02 0:30 ` Stafford Horne
2022-01-03 18:24 ` Adhemerval Zanella
2022-01-04 1:40 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 11/13] or1k: Build Infrastructure Stafford Horne
2022-01-03 18:25 ` Adhemerval Zanella
2022-01-04 1:42 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 12/13] build-many-glibcs.py: add OpenRISC support Stafford Horne
2022-01-03 18:26 ` Adhemerval Zanella
2022-01-04 1:43 ` Stafford Horne
2021-12-29 4:42 ` [OpenRISC] [PATCH v4 13/13] Documentation for OpenRISC port Stafford Horne
2022-01-03 18:31 ` Adhemerval Zanella
2022-01-03 18:35 ` [OpenRISC] [PATCH v4 00/13] Glibc " Adhemerval Zanella
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=20211229044251.2203653-1-shorne@gmail.com \
--to=shorne@gmail.com \
--cc=openrisc@lists.librecores.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.