riscv32: add arch headers
commit01d9fe4d9f7cce7a6dbaece0e2e405a2e3279244
authorStefan O'Rear <sorear@fastmail.com>
Thu, 3 Sep 2020 09:40:29 +0000 (3 05:40 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 29 Feb 2024 21:35:30 +0000 (29 16:35 -0500)
treebed13ff84c58d124a99b0799841812b29b3eeba1
parent5c653ccaa1383db0c310abf66d5b6806e83ac18f
riscv32: add arch headers

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.
17 files changed:
arch/riscv32/atomic_arch.h [new file with mode: 0644]
arch/riscv32/bits/alltypes.h.in [new file with mode: 0644]
arch/riscv32/bits/fenv.h [new file with mode: 0644]
arch/riscv32/bits/float.h [new file with mode: 0644]
arch/riscv32/bits/posix.h [new file with mode: 0644]
arch/riscv32/bits/reg.h [new file with mode: 0644]
arch/riscv32/bits/setjmp.h [new file with mode: 0644]
arch/riscv32/bits/signal.h [new file with mode: 0644]
arch/riscv32/bits/stat.h [new file with mode: 0644]
arch/riscv32/bits/stdint.h [new file with mode: 0644]
arch/riscv32/bits/syscall.h.in [new file with mode: 0644]
arch/riscv32/bits/user.h [new file with mode: 0644]
arch/riscv32/crt_arch.h [new file with mode: 0644]
arch/riscv32/kstat.h [new file with mode: 0644]
arch/riscv32/pthread_arch.h [new file with mode: 0644]
arch/riscv32/reloc.h [new file with mode: 0644]
arch/riscv32/syscall_arch.h [new file with mode: 0644]