musl/arch/riscv32, branch master musl - an implementation of the standard library for Linux-based systems wire up vdso clock_gettime for riscv32 and riscv64 2024年10月22日T23:26:31+00:00 Rich Felker dalias@aerifal.cx 2024年10月22日T23:16:42+00:00 9b6a24f9c56caf70289c1fa3470f4841808ef3b7
stdint.h: derive limits from __LONG_MAX, use common fast16 types 2024年05月07日T13:17:51+00:00 Rich Felker dalias@aerifal.cx 2024年05月07日T13:17:51+00:00 2c124e13bd7941fe0b885eecdc5de6f09aacf06a the bits file is retained, but as a single generic version, to allow for the unlikely future possibility of letting a new arch define something differently.
the bits file is retained, but as a single generic version, to allow
for the unlikely future possibility of letting a new arch define
something differently.
sys/reg.h: derive __WORDSIZE from __LONG_MAX 2024年05月07日T13:08:31+00:00 Rich Felker dalias@aerifal.cx 2024年05月07日T13:07:41+00:00 e709a6f07ade208ba513f9225222336f30c304b0 this removes an otherwise-unnecessary bits header from most archs, replacing it with an empty generic version.
this removes an otherwise-unnecessary bits header from most archs,
replacing it with an empty generic version.
unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bits 2024年05月07日T13:01:47+00:00 Rich Felker dalias@aerifal.cx 2024年05月07日T13:01:47+00:00 29b216b2f22d3341c4c00608d7ad554a6aed26f7
unify bits/stat.h for all archs sharing a common definition 2024年05月07日T12:58:45+00:00 Rich Felker dalias@aerifal.cx 2024年05月07日T12:58:45+00:00 0dfa1d8caadb7b308740d7695b592c207bfad543 future archs should not define their own bits/stat.h but use this generic one.
future archs should not define their own bits/stat.h but use this
generic one.
riscv mcontext_t/sigcontext: use __aligned__ instead of aligned 2024年05月06日T14:59:12+00:00 Michael Forney mforney@mforney.org 2024年04月21日T03:29:07+00:00 a23cf8f9c5ab8ff1e1742a68b352e58b9febbe4a aligned may be defined by the application for its own use before bits/signal.h is included.
aligned may be defined by the application for its own use before
bits/signal.h is included.
riscv: define REG_S1 and REG_S2 2024年02月29日T21:36:55+00:00 Khem Raj raj.khem@gmail.com 2022年01月26日T04:32:50+00:00 d25f0cccb92ba80e14b078f895d656126efdc77f These are used by applications to access members of mcontext, and are also defined by other libcs on linux.
These are used by applications to access members of mcontext, and are
also defined by other libcs on linux.
riscv32: add new syscall numbers 2024年02月29日T21:36:55+00:00 Khem Raj raj.khem@gmail.com 2020年10月30日T19:16:29+00:00 8432d16a4664433b2f9a263aee0d7d829129a7bc - add mount_setattr from linux v5.12 - add epoll_pwait2 from linux v5.11 - add process_madvise from linux v5.10 - add __NR_faccessat2 from linux v5.8 - add pidfd_getfd and openat2 syscall numbers from linux v5.6 - add clone3 syscall number from linux v5.3 - add process_mrelease from linux v5.15 - add futex_waitv from linux v5.16 - add set_mempolicy_home_node from linux v5.17 - add cachestat from linux v6.4 - add __NR_fchmodat2 from linux v6.6
- add mount_setattr from linux v5.12
- add epoll_pwait2 from linux v5.11
- add process_madvise from linux v5.10
- add __NR_faccessat2 from linux v5.8
- add pidfd_getfd and openat2 syscall numbers from linux v5.6
- add clone3 syscall number from linux v5.3
- add process_mrelease from linux v5.15
- add futex_waitv from linux v5.16
- add set_mempolicy_home_node from linux v5.17
- add cachestat from linux v6.4
- add __NR_fchmodat2 from linux v6.6
riscv32: add sysvipc msg/sem/shm bits 2024年02月29日T21:36:55+00:00 Rich Felker dalias@aerifal.cx 2024年02月29日T16:02:29+00:00 3ea3fcf78a5532e118856846df8adbf3f60ef716 despite riscv32 being natively time64, the IPC_TIME64 bit (0x100) is set in IPC_STAT and derived command macros, differentiating their values from the raw command values used to interface with the kernel. this reflects that the kernel ipc structure types are not natively time64, but have broken-down hi/lo fields that cannot be used in-place and require translation, and that the userspace struct types differ from the kernel types (relevant to things like strace).
despite riscv32 being natively time64, the IPC_TIME64 bit (0x100) is
set in IPC_STAT and derived command macros, differentiating their
values from the raw command values used to interface with the kernel.
this reflects that the kernel ipc structure types are not natively
time64, but have broken-down hi/lo fields that cannot be used in-place
and require translation, and that the userspace struct types differ
from the kernel types (relevant to things like strace).
riscv32: add arch headers 2024年02月29日T21:35:30+00:00 Stefan O'Rear sorear@fastmail.com 2020年09月03日T09:40:29+00:00 01d9fe4d9f7cce7a6dbaece0e2e405a2e3279244 These are mostly copied from riscv64. _Addr and _Reg had to become int to match compiler-controlled parts of the ABI (result type of sizeof, etc.). There is no kernel stat struct; the userspace stat matches glibc in the sizes and offsets of all fields (including glibc's __dev_t __pad1). The jump buffer is 12 words larger to account for 12 saved double-precision floats; additionally it should be 64-bit aligned to save doubles. The syscall list was significantly revised by deleting all time32 and pre-statx syscalls, and renaming several syscalls that have different names depending on __BITS_PER_LONG, notably mmap2 and _llseek. futex was added as an alias to futex_time64 since it is widely used by software which does not pass time arguments.
These are mostly copied from riscv64. _Addr and _Reg had to become int
to match compiler-controlled parts of the ABI (result type of sizeof,
etc.). There is no kernel stat struct; the userspace stat matches
glibc in the sizes and offsets of all fields (including glibc's
__dev_t __pad1). The jump buffer is 12 words larger to account for 12
saved double-precision floats; additionally it should be 64-bit
aligned to save doubles.
The syscall list was significantly revised by deleting all time32 and
pre-statx syscalls, and renaming several syscalls that have different
names depending on __BITS_PER_LONG, notably mmap2 and _llseek.
futex was added as an alias to futex_time64 since it is widely used by
software which does not pass time arguments.

AltStyle によって変換されたページ (->オリジナル) /