diff --git a/lib/libc/include/aarch64-linux-musl/bits/hwcap.h b/lib/libc/include/aarch64-linux-musl/bits/hwcap.h index 3f1b9de3b7..83abee2665 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/hwcap.h +++ b/lib/libc/include/aarch64-linux-musl/bits/hwcap.h @@ -29,4 +29,12 @@ #define HWCAP_SSBS (1 << 28) #define HWCAP_SB (1 << 29) #define HWCAP_PACA (1 << 30) -#define HWCAP_PACG (1UL << 31) \ No newline at end of file +#define HWCAP_PACG (1UL << 31) + +#define HWCAP2_DCPODP (1 << 0) +#define HWCAP2_SVE2 (1 << 1) +#define HWCAP2_SVEAES (1 << 2) +#define HWCAP2_SVEPMULL (1 << 3) +#define HWCAP2_SVEBITPERM (1 << 4) +#define HWCAP2_SVESHA3 (1 << 5) +#define HWCAP2_SVESM4 (1 << 6) \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/ipc.h b/lib/libc/include/aarch64-linux-musl/bits/ipc.h deleted file mode 100644 index 37561db60d..0000000000 --- a/lib/libc/include/aarch64-linux-musl/bits/ipc.h +++ /dev/null @@ -1,14 +0,0 @@ -struct ipc_perm { - key_t __ipc_perm_key; - uid_t uid; - gid_t gid; - uid_t cuid; - gid_t cgid; - mode_t mode; - unsigned short __ipc_perm_seq; - - unsigned long __pad1; - unsigned long __pad2; -}; - -#define IPC_64 0 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/posix.h b/lib/libc/include/aarch64-linux-musl/bits/posix.h deleted file mode 100644 index 9fcc205cc1..0000000000 --- a/lib/libc/include/aarch64-linux-musl/bits/posix.h +++ /dev/null @@ -1,2 +0,0 @@ -#define _POSIX_V6_LP64_OFF64 1 -#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/reg.h b/lib/libc/include/aarch64-linux-musl/bits/reg.h deleted file mode 100644 index 0afb6bd06c..0000000000 --- a/lib/libc/include/aarch64-linux-musl/bits/reg.h +++ /dev/null @@ -1,2 +0,0 @@ -#undef __WORDSIZE -#define __WORDSIZE 64 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/syscall.h b/lib/libc/include/aarch64-linux-musl/bits/syscall.h index f1df93f0b6..53f296e037 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/syscall.h +++ b/lib/libc/include/aarch64-linux-musl/bits/syscall.h @@ -281,6 +281,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_io_setup 0 #define SYS_io_destroy 1 @@ -564,4 +570,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/limits.h b/lib/libc/include/arm-linux-musl/bits/limits.h similarity index 75% rename from lib/libc/include/powerpc64-linux-musl/bits/limits.h rename to lib/libc/include/arm-linux-musl/bits/limits.h index 1be0deba7a..ba9c3aa003 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/limits.h +++ b/lib/libc/include/arm-linux-musl/bits/limits.h @@ -1,7 +1,7 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define LONG_BIT 64 +#define LONG_BIT 32 #endif -#define LONG_MAX 0x7fffffffffffffffL +#define LONG_MAX 0x7fffffffL #define LLONG_MAX 0x7fffffffffffffffLL \ No newline at end of file diff --git a/lib/libc/include/arm-linux-musl/bits/posix.h b/lib/libc/include/arm-linux-musl/bits/posix.h new file mode 100644 index 0000000000..b0aba3e4a5 --- /dev/null +++ b/lib/libc/include/arm-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-musl/bits/reg.h b/lib/libc/include/arm-linux-musl/bits/reg.h new file mode 100644 index 0000000000..e30a80ee5e --- /dev/null +++ b/lib/libc/include/arm-linux-musl/bits/reg.h @@ -0,0 +1,3 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 +/* FIXME */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/sem.h b/lib/libc/include/arm-linux-musl/bits/sem.h similarity index 52% rename from lib/libc/include/aarch64-linux-musl/bits/sem.h rename to lib/libc/include/arm-linux-musl/bits/sem.h index bf8e59f52e..9097f9ffdb 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/sem.h +++ b/lib/libc/include/arm-linux-musl/bits/sem.h @@ -1,14 +1,16 @@ struct semid_ds { struct ipc_perm sem_perm; time_t sem_otime; + long __unused1; time_t sem_ctime; + long __unused2; #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned short sem_nsems; - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; #else - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; unsigned short sem_nsems; #endif - time_t __unused3; - time_t __unused4; + long __unused3; + long __unused4; }; \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/stat.h b/lib/libc/include/arm-linux-musl/bits/stat.h similarity index 57% rename from lib/libc/include/aarch64-linux-musl/bits/stat.h rename to lib/libc/include/arm-linux-musl/bits/stat.h index 6ce9af119f..78e91b4028 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/stat.h +++ b/lib/libc/include/arm-linux-musl/bits/stat.h @@ -1,18 +1,21 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + struct stat { dev_t st_dev; - ino_t st_ino; + int __st_dev_padding; + long __st_ino_truncated; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; - unsigned long __pad; + int __st_rdev_padding; off_t st_size; blksize_t st_blksize; - int __pad2; blkcnt_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; - unsigned __unused[2]; + ino_t st_ino; }; \ No newline at end of file diff --git a/lib/libc/include/arm-linux-musl/bits/syscall.h b/lib/libc/include/arm-linux-musl/bits/syscall.h index 4bd7e623fe..778430b874 100644 --- a/lib/libc/include/arm-linux-musl/bits/syscall.h +++ b/lib/libc/include/arm-linux-musl/bits/syscall.h @@ -381,6 +381,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define __ARM_NR_breakpoint 0x0f0001 #define __ARM_NR_cacheflush 0x0f0002 @@ -771,4 +777,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/ipc.h b/lib/libc/include/generic-musl/bits/ipc.h index f7952b4bc1..2c0d4402c7 100644 --- a/lib/libc/include/generic-musl/bits/ipc.h +++ b/lib/libc/include/generic-musl/bits/ipc.h @@ -8,6 +8,4 @@ struct ipc_perm { int __ipc_perm_seq; long __pad1; long __pad2; -}; - -#define IPC_64 0x100 \ No newline at end of file +}; \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/ipcstat.h b/lib/libc/include/generic-musl/bits/ipcstat.h new file mode 100644 index 0000000000..36917ea920 --- /dev/null +++ b/lib/libc/include/generic-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 2 \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/limits.h b/lib/libc/include/generic-musl/bits/limits.h index ba9c3aa003..1be0deba7a 100644 --- a/lib/libc/include/generic-musl/bits/limits.h +++ b/lib/libc/include/generic-musl/bits/limits.h @@ -1,7 +1,7 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define LONG_BIT 32 +#define LONG_BIT 64 #endif -#define LONG_MAX 0x7fffffffL +#define LONG_MAX 0x7fffffffffffffffL #define LLONG_MAX 0x7fffffffffffffffLL \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/msg.h b/lib/libc/include/generic-musl/bits/msg.h index 2cb18356df..39bdf2a3de 100644 --- a/lib/libc/include/generic-musl/bits/msg.h +++ b/lib/libc/include/generic-musl/bits/msg.h @@ -8,6 +8,5 @@ struct msqid_ds { msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; - unsigned long __pad1; - unsigned long __pad2; + unsigned long __unused[2]; }; \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/posix.h b/lib/libc/include/generic-musl/bits/posix.h index b0aba3e4a5..9fcc205cc1 100644 --- a/lib/libc/include/generic-musl/bits/posix.h +++ b/lib/libc/include/generic-musl/bits/posix.h @@ -1,2 +1,2 @@ -#define _POSIX_V6_ILP32_OFFBIG 1 -#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file +#define _POSIX_V6_LP64_OFF64 1 +#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/reg.h b/lib/libc/include/generic-musl/bits/reg.h index e30a80ee5e..0afb6bd06c 100644 --- a/lib/libc/include/generic-musl/bits/reg.h +++ b/lib/libc/include/generic-musl/bits/reg.h @@ -1,3 +1,2 @@ #undef __WORDSIZE -#define __WORDSIZE 32 -/* FIXME */ \ No newline at end of file +#define __WORDSIZE 64 \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/sem.h b/lib/libc/include/generic-musl/bits/sem.h index a115313f38..25ae3b4a13 100644 --- a/lib/libc/include/generic-musl/bits/sem.h +++ b/lib/libc/include/generic-musl/bits/sem.h @@ -1,16 +1,14 @@ struct semid_ds { struct ipc_perm sem_perm; time_t sem_otime; - time_t __unused1; time_t sem_ctime; - time_t __unused2; #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned short sem_nsems; - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; #else - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; unsigned short sem_nsems; #endif - time_t __unused3; - time_t __unused4; + long __unused3; + long __unused4; }; \ No newline at end of file diff --git a/lib/libc/include/generic-musl/bits/stat.h b/lib/libc/include/generic-musl/bits/stat.h index 78e91b4028..6ce9af119f 100644 --- a/lib/libc/include/generic-musl/bits/stat.h +++ b/lib/libc/include/generic-musl/bits/stat.h @@ -1,21 +1,18 @@ -/* copied from kernel definition, but with padding replaced - * by the corresponding correctly-sized userspace types. */ - struct stat { dev_t st_dev; - int __st_dev_padding; - long __st_ino_truncated; + ino_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; - int __st_rdev_padding; + unsigned long __pad; off_t st_size; blksize_t st_blksize; + int __pad2; blkcnt_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; - ino_t st_ino; + unsigned __unused[2]; }; \ No newline at end of file diff --git a/lib/libc/include/generic-musl/fcntl.h b/lib/libc/include/generic-musl/fcntl.h index 2723d0cf0a..8c418170dd 100644 --- a/lib/libc/include/generic-musl/fcntl.h +++ b/lib/libc/include/generic-musl/fcntl.h @@ -100,6 +100,11 @@ int posix_fallocate(int, off_t, off_t); #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define AT_NO_AUTOMOUNT 0x800 #define AT_EMPTY_PATH 0x1000 +#define AT_STATX_SYNC_TYPE 0x6000 +#define AT_STATX_SYNC_AS_STAT 0x0000 +#define AT_STATX_FORCE_SYNC 0x2000 +#define AT_STATX_DONT_SYNC 0x4000 +#define AT_RECURSIVE 0x8000 #define FAPPEND O_APPEND #define FFSYNC O_SYNC diff --git a/lib/libc/include/generic-musl/glob.h b/lib/libc/include/generic-musl/glob.h index 1828889e9f..1c596c9fe7 100644 --- a/lib/libc/include/generic-musl/glob.h +++ b/lib/libc/include/generic-musl/glob.h @@ -31,6 +31,9 @@ void globfree(glob_t *); #define GLOB_NOESCAPE 0x40 #define GLOB_PERIOD 0x80 +#define GLOB_TILDE 0x1000 +#define GLOB_TILDE_CHECK 0x4000 + #define GLOB_NOSPACE 1 #define GLOB_ABORTED 2 #define GLOB_NOMATCH 3 diff --git a/lib/libc/include/generic-musl/netinet/if_ether.h b/lib/libc/include/generic-musl/netinet/if_ether.h index 567cbeb7c3..37d81698eb 100644 --- a/lib/libc/include/generic-musl/netinet/if_ether.h +++ b/lib/libc/include/generic-musl/netinet/if_ether.h @@ -76,6 +76,7 @@ #define ETH_P_QINQ2 0x9200 #define ETH_P_QINQ3 0x9300 #define ETH_P_EDSA 0xDADA +#define ETH_P_DSA_8021Q 0xDADB #define ETH_P_IFE 0xED3E #define ETH_P_AF_IUCV 0xFBFB diff --git a/lib/libc/include/generic-musl/sched.h b/lib/libc/include/generic-musl/sched.h index c0f322dd06..7963785f67 100644 --- a/lib/libc/include/generic-musl/sched.h +++ b/lib/libc/include/generic-musl/sched.h @@ -18,10 +18,12 @@ extern "C" { struct sched_param { int sched_priority; - int sched_ss_low_priority; - struct timespec sched_ss_repl_period; - struct timespec sched_ss_init_budget; - int sched_ss_max_repl; + int __reserved1; + struct { + time_t __reserved1; + long __reserved2; + } __reserved2[2]; + int __reserved3; }; int sched_get_priority_max(int); @@ -47,6 +49,7 @@ int sched_yield(void); #define CLONE_FS 0x00000200 #define CLONE_FILES 0x00000400 #define CLONE_SIGHAND 0x00000800 +#define CLONE_PIDFD 0x00001000 #define CLONE_PTRACE 0x00002000 #define CLONE_VFORK 0x00004000 #define CLONE_PARENT 0x00008000 diff --git a/lib/libc/include/generic-musl/spawn.h b/lib/libc/include/generic-musl/spawn.h index eb14a4c7c7..399945bdac 100644 --- a/lib/libc/include/generic-musl/spawn.h +++ b/lib/libc/include/generic-musl/spawn.h @@ -71,6 +71,11 @@ int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *__restrict, int int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int); int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, int); +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *__restrict, const char *__restrict); +int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *, int); +#endif + #ifdef __cplusplus } #endif diff --git a/lib/libc/include/generic-musl/stdlib.h b/lib/libc/include/generic-musl/stdlib.h index 123a65d028..f7c4f9d8de 100644 --- a/lib/libc/include/generic-musl/stdlib.h +++ b/lib/libc/include/generic-musl/stdlib.h @@ -152,6 +152,7 @@ int ptsname_r(int, char *, size_t); char *ecvt(double, int, int *, int *); char *fcvt(double, int, int *, int *); char *gcvt(double, int, char *); +char *secure_getenv(const char *); struct __locale_struct; float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *); double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); diff --git a/lib/libc/include/generic-musl/sys/ipc.h b/lib/libc/include/generic-musl/sys/ipc.h index e4dc9c2577..99a4f01549 100644 --- a/lib/libc/include/generic-musl/sys/ipc.h +++ b/lib/libc/include/generic-musl/sys/ipc.h @@ -22,6 +22,7 @@ extern "C" { #endif #include +#include #define IPC_CREAT 01000 #define IPC_EXCL 02000 @@ -29,7 +30,6 @@ extern "C" { #define IPC_RMID 0 #define IPC_SET 1 -#define IPC_STAT 2 #define IPC_INFO 3 #define IPC_PRIVATE ((key_t) 0) diff --git a/lib/libc/include/generic-musl/sys/msg.h b/lib/libc/include/generic-musl/sys/msg.h index c7f1967b31..7d3ec96aff 100644 --- a/lib/libc/include/generic-musl/sys/msg.h +++ b/lib/libc/include/generic-musl/sys/msg.h @@ -25,9 +25,9 @@ typedef unsigned long msglen_t; #define MSG_NOERROR 010000 #define MSG_EXCEPT 020000 -#define MSG_STAT 11 +#define MSG_STAT (11 | (IPC_STAT & 0x100)) #define MSG_INFO 12 -#define MSG_STAT_ANY 13 +#define MSG_STAT_ANY (13 | (IPC_STAT & 0x100)) struct msginfo { int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql; diff --git a/lib/libc/include/generic-musl/sys/sem.h b/lib/libc/include/generic-musl/sys/sem.h index 621e5dfbe7..95e5d9433c 100644 --- a/lib/libc/include/generic-musl/sys/sem.h +++ b/lib/libc/include/generic-musl/sys/sem.h @@ -31,9 +31,9 @@ extern "C" { #define _SEM_SEMUN_UNDEFINED 1 -#define SEM_STAT 18 +#define SEM_STAT (18 | (IPC_STAT & 0x100)) #define SEM_INFO 19 -#define SEM_STAT_ANY 20 +#define SEM_STAT_ANY (20 | (IPC_STAT & 0x100)) struct seminfo { int semmap; diff --git a/lib/libc/include/generic-musl/sys/shm.h b/lib/libc/include/generic-musl/sys/shm.h index 70ccd644ce..e0bcf2557e 100644 --- a/lib/libc/include/generic-musl/sys/shm.h +++ b/lib/libc/include/generic-musl/sys/shm.h @@ -33,9 +33,9 @@ extern "C" { #define SHM_LOCK 11 #define SHM_UNLOCK 12 -#define SHM_STAT 13 +#define SHM_STAT (13 | (IPC_STAT & 0x100)) #define SHM_INFO 14 -#define SHM_STAT_ANY 15 +#define SHM_STAT_ANY (15 | (IPC_STAT & 0x100)) #define SHM_DEST 01000 #define SHM_LOCKED 02000 #define SHM_HUGETLB 04000 diff --git a/lib/libc/include/generic-musl/unistd.h b/lib/libc/include/generic-musl/unistd.h index f40a0032d3..c6b3f1a2ad 100644 --- a/lib/libc/include/generic-musl/unistd.h +++ b/lib/libc/include/generic-musl/unistd.h @@ -176,6 +176,7 @@ long syscall(long, ...); int execvpe(const char *, char *const [], char *const []); int issetugid(void); int getentropy(void *, size_t); +extern int optreset; #endif #ifdef _GNU_SOURCE @@ -188,6 +189,7 @@ char *get_current_dir_name(void); int syncfs(int); int euidaccess(const char *, int); int eaccess(const char *, int); +ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); #endif #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) diff --git a/lib/libc/include/i386-linux-musl/bits/posix.h b/lib/libc/include/i386-linux-musl/bits/posix.h new file mode 100644 index 0000000000..b0aba3e4a5 --- /dev/null +++ b/lib/libc/include/i386-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/lib/libc/include/i386-linux-musl/bits/sem.h b/lib/libc/include/i386-linux-musl/bits/sem.h new file mode 100644 index 0000000000..e63d0732bb --- /dev/null +++ b/lib/libc/include/i386-linux-musl/bits/sem.h @@ -0,0 +1,11 @@ +struct semid_ds { + struct ipc_perm sem_perm; + time_t sem_otime; + long __unused1; + time_t sem_ctime; + long __unused2; + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + long __unused3; + long __unused4; +}; \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/stat.h b/lib/libc/include/i386-linux-musl/bits/stat.h similarity index 57% rename from lib/libc/include/riscv64-linux-musl/bits/stat.h rename to lib/libc/include/i386-linux-musl/bits/stat.h index 6ce9af119f..78e91b4028 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/stat.h +++ b/lib/libc/include/i386-linux-musl/bits/stat.h @@ -1,18 +1,21 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + struct stat { dev_t st_dev; - ino_t st_ino; + int __st_dev_padding; + long __st_ino_truncated; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; - unsigned long __pad; + int __st_rdev_padding; off_t st_size; blksize_t st_blksize; - int __pad2; blkcnt_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; - unsigned __unused[2]; + ino_t st_ino; }; \ No newline at end of file diff --git a/lib/libc/include/i386-linux-musl/bits/syscall.h b/lib/libc/include/i386-linux-musl/bits/syscall.h index a6109c1a64..482f1d1d19 100644 --- a/lib/libc/include/i386-linux-musl/bits/syscall.h +++ b/lib/libc/include/i386-linux-musl/bits/syscall.h @@ -418,6 +418,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -836,4 +842,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-musl/bits/limits.h b/lib/libc/include/mips-linux-musl/bits/limits.h similarity index 75% rename from lib/libc/include/aarch64-linux-musl/bits/limits.h rename to lib/libc/include/mips-linux-musl/bits/limits.h index 1be0deba7a..ba9c3aa003 100644 --- a/lib/libc/include/aarch64-linux-musl/bits/limits.h +++ b/lib/libc/include/mips-linux-musl/bits/limits.h @@ -1,7 +1,7 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define LONG_BIT 64 +#define LONG_BIT 32 #endif -#define LONG_MAX 0x7fffffffffffffffL +#define LONG_MAX 0x7fffffffL #define LLONG_MAX 0x7fffffffffffffffLL \ No newline at end of file diff --git a/lib/libc/include/mips-linux-musl/bits/posix.h b/lib/libc/include/mips-linux-musl/bits/posix.h new file mode 100644 index 0000000000..b0aba3e4a5 --- /dev/null +++ b/lib/libc/include/mips-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/lib/libc/include/mips-linux-musl/bits/sem.h b/lib/libc/include/mips-linux-musl/bits/sem.h deleted file mode 100644 index bf8e59f52e..0000000000 --- a/lib/libc/include/mips-linux-musl/bits/sem.h +++ /dev/null @@ -1,14 +0,0 @@ -struct semid_ds { - struct ipc_perm sem_perm; - time_t sem_otime; - time_t sem_ctime; -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned short sem_nsems; - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; -#else - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; - unsigned short sem_nsems; -#endif - time_t __unused3; - time_t __unused4; -}; \ No newline at end of file diff --git a/lib/libc/include/mips-linux-musl/bits/syscall.h b/lib/libc/include/mips-linux-musl/bits/syscall.h index 7093a0cd7f..67bd95fa5c 100644 --- a/lib/libc/include/mips-linux-musl/bits/syscall.h +++ b/lib/libc/include/mips-linux-musl/bits/syscall.h @@ -400,6 +400,12 @@ #define __NR_io_uring_setup 4425 #define __NR_io_uring_enter 4426 #define __NR_io_uring_register 4427 +#define __NR_open_tree 4428 +#define __NR_move_mount 4429 +#define __NR_fsopen 4430 +#define __NR_fsconfig 4431 +#define __NR_fsmount 4432 +#define __NR_fspick 4433 #define SYS_syscall 4000 #define SYS_exit 4001 @@ -802,4 +808,10 @@ #define SYS_pidfd_send_signal 4424 #define SYS_io_uring_setup 4425 #define SYS_io_uring_enter 4426 -#define SYS_io_uring_register 4427 \ No newline at end of file +#define SYS_io_uring_register 4427 +#define SYS_open_tree 4428 +#define SYS_move_mount 4429 +#define SYS_fsopen 4430 +#define SYS_fsconfig 4431 +#define SYS_fsmount 4432 +#define SYS_fspick 4433 \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-musl/bits/ipc.h b/lib/libc/include/mips64-linux-musl/bits/ipc.h index 83ebc69b7c..bfcc76a1b8 100644 --- a/lib/libc/include/mips64-linux-musl/bits/ipc.h +++ b/lib/libc/include/mips64-linux-musl/bits/ipc.h @@ -9,6 +9,4 @@ struct ipc_perm { int __pad1; unsigned long __unused1; unsigned long __unused2; -}; - -#define IPC_64 0x100 \ No newline at end of file +}; \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-musl/bits/sem.h b/lib/libc/include/mips64-linux-musl/bits/sem.h deleted file mode 100644 index bf8e59f52e..0000000000 --- a/lib/libc/include/mips64-linux-musl/bits/sem.h +++ /dev/null @@ -1,14 +0,0 @@ -struct semid_ds { - struct ipc_perm sem_perm; - time_t sem_otime; - time_t sem_ctime; -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned short sem_nsems; - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; -#else - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; - unsigned short sem_nsems; -#endif - time_t __unused3; - time_t __unused4; -}; \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-musl/bits/stat.h b/lib/libc/include/mips64-linux-musl/bits/stat.h index 57b02c688f..d464618b9c 100644 --- a/lib/libc/include/mips64-linux-musl/bits/stat.h +++ b/lib/libc/include/mips64-linux-musl/bits/stat.h @@ -1,6 +1,3 @@ -#include -#include - struct stat { dev_t st_dev; int __pad1[3]; diff --git a/lib/libc/include/mips64-linux-musl/bits/syscall.h b/lib/libc/include/mips64-linux-musl/bits/syscall.h index 1c60f07f2d..e14881035b 100644 --- a/lib/libc/include/mips64-linux-musl/bits/syscall.h +++ b/lib/libc/include/mips64-linux-musl/bits/syscall.h @@ -330,6 +330,12 @@ #define __NR_io_uring_setup 5425 #define __NR_io_uring_enter 5426 #define __NR_io_uring_register 5427 +#define __NR_open_tree 5428 +#define __NR_move_mount 5429 +#define __NR_fsopen 5430 +#define __NR_fsconfig 5431 +#define __NR_fsmount 5432 +#define __NR_fspick 5433 #define SYS_read 5000 #define SYS_write 5001 @@ -662,4 +668,10 @@ #define SYS_pidfd_send_signal 5424 #define SYS_io_uring_setup 5425 #define SYS_io_uring_enter 5426 -#define SYS_io_uring_register 5427 \ No newline at end of file +#define SYS_io_uring_register 5427 +#define SYS_open_tree 5428 +#define SYS_move_mount 5429 +#define SYS_fsopen 5430 +#define SYS_fsconfig 5431 +#define SYS_fsmount 5432 +#define SYS_fspick 5433 \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/alltypes.h b/lib/libc/include/powerpc-linux-musl/bits/alltypes.h index 94e2c7a8b2..f94f3e2f44 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/alltypes.h +++ b/lib/libc/include/powerpc-linux-musl/bits/alltypes.h @@ -14,11 +14,19 @@ typedef __builtin_va_list __isoc_va_list; #ifndef __cplusplus +#ifdef __WCHAR_TYPE__ +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef __WCHAR_TYPE__ wchar_t; +#define __DEFINED_wchar_t +#endif + +#else #if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) typedef long wchar_t; #define __DEFINED_wchar_t #endif +#endif #endif #if defined(__NEED_float_t) && !defined(__DEFINED_float_t) diff --git a/lib/libc/include/powerpc-linux-musl/bits/ipc.h b/lib/libc/include/powerpc-linux-musl/bits/ipc.h index b83c026759..4c4aedd265 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/ipc.h +++ b/lib/libc/include/powerpc-linux-musl/bits/ipc.h @@ -9,6 +9,4 @@ struct ipc_perm { int __pad1; long long __pad2; long long __pad3; -}; - -#define IPC_64 0x100 \ No newline at end of file +}; \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/limits.h b/lib/libc/include/powerpc-linux-musl/bits/limits.h similarity index 75% rename from lib/libc/include/riscv64-linux-musl/bits/limits.h rename to lib/libc/include/powerpc-linux-musl/bits/limits.h index 1be0deba7a..ba9c3aa003 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/limits.h +++ b/lib/libc/include/powerpc-linux-musl/bits/limits.h @@ -1,7 +1,7 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define LONG_BIT 64 +#define LONG_BIT 32 #endif -#define LONG_MAX 0x7fffffffffffffffL +#define LONG_MAX 0x7fffffffL #define LLONG_MAX 0x7fffffffffffffffLL \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/posix.h b/lib/libc/include/powerpc-linux-musl/bits/posix.h new file mode 100644 index 0000000000..b0aba3e4a5 --- /dev/null +++ b/lib/libc/include/powerpc-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/reg.h b/lib/libc/include/powerpc-linux-musl/bits/reg.h new file mode 100644 index 0000000000..e30a80ee5e --- /dev/null +++ b/lib/libc/include/powerpc-linux-musl/bits/reg.h @@ -0,0 +1,3 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 +/* FIXME */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/syscall.h b/lib/libc/include/powerpc-linux-musl/bits/syscall.h index 93beb3d1a3..888868ad5c 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/syscall.h +++ b/lib/libc/include/powerpc-linux-musl/bits/syscall.h @@ -407,6 +407,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -816,4 +822,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-musl/bits/user.h b/lib/libc/include/powerpc-linux-musl/bits/user.h index 16282f8219..9aec1b4c2c 100644 --- a/lib/libc/include/powerpc-linux-musl/bits/user.h +++ b/lib/libc/include/powerpc-linux-musl/bits/user.h @@ -1,10 +1,8 @@ -struct pt_regs { - unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, mq; - unsigned long trap, dar, dsisr, result; -}; - struct user { - struct pt_regs regs; + struct { + unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, mq; + unsigned long trap, dar, dsisr, result; + } regs; unsigned long u_tsize, u_dsize, u_ssize; unsigned long start_code, start_data, start_stack; long signal; diff --git a/lib/libc/include/powerpc64-linux-musl/bits/ipc.h b/lib/libc/include/powerpc64-linux-musl/bits/ipc.h index b83c026759..4c4aedd265 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/ipc.h +++ b/lib/libc/include/powerpc64-linux-musl/bits/ipc.h @@ -9,6 +9,4 @@ struct ipc_perm { int __pad1; long long __pad2; long long __pad3; -}; - -#define IPC_64 0x100 \ No newline at end of file +}; \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/msg.h b/lib/libc/include/powerpc64-linux-musl/bits/msg.h deleted file mode 100644 index 39bdf2a3de..0000000000 --- a/lib/libc/include/powerpc64-linux-musl/bits/msg.h +++ /dev/null @@ -1,12 +0,0 @@ -struct msqid_ds { - struct ipc_perm msg_perm; - time_t msg_stime; - time_t msg_rtime; - time_t msg_ctime; - unsigned long msg_cbytes; - msgqnum_t msg_qnum; - msglen_t msg_qbytes; - pid_t msg_lspid; - pid_t msg_lrpid; - unsigned long __unused[2]; -}; \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/posix.h b/lib/libc/include/powerpc64-linux-musl/bits/posix.h deleted file mode 100644 index 9fcc205cc1..0000000000 --- a/lib/libc/include/powerpc64-linux-musl/bits/posix.h +++ /dev/null @@ -1,2 +0,0 @@ -#define _POSIX_V6_LP64_OFF64 1 -#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/sem.h b/lib/libc/include/powerpc64-linux-musl/bits/sem.h deleted file mode 100644 index fde97e13c5..0000000000 --- a/lib/libc/include/powerpc64-linux-musl/bits/sem.h +++ /dev/null @@ -1,13 +0,0 @@ -#include - -struct semid_ds { - struct ipc_perm sem_perm; - time_t sem_otime; - time_t sem_ctime; -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned short __pad[3], sem_nsems; -#else - unsigned short sem_nsems, __pad[3]; -#endif - unsigned long __unused[2]; -}; \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/syscall.h b/lib/libc/include/powerpc64-linux-musl/bits/syscall.h index f48379d8d6..38b8263144 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/syscall.h +++ b/lib/libc/include/powerpc64-linux-musl/bits/syscall.h @@ -379,6 +379,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_restart_syscall 0 #define SYS_exit 1 @@ -760,4 +766,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-musl/bits/user.h b/lib/libc/include/powerpc64-linux-musl/bits/user.h index cedbed6df7..25d86ab55e 100644 --- a/lib/libc/include/powerpc64-linux-musl/bits/user.h +++ b/lib/libc/include/powerpc64-linux-musl/bits/user.h @@ -1,10 +1,8 @@ -struct pt_regs { - unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, softe; - unsigned long trap, dar, dsisr, result; -}; - struct user { - struct pt_regs regs; + struct { + unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, softe; + unsigned long trap, dar, dsisr, result; + } regs; unsigned long u_tsize, u_dsize, u_ssize; unsigned long start_code, start_data, start_stack; long signal; diff --git a/lib/libc/include/riscv64-linux-musl/bits/ipc.h b/lib/libc/include/riscv64-linux-musl/bits/ipc.h deleted file mode 100644 index 37561db60d..0000000000 --- a/lib/libc/include/riscv64-linux-musl/bits/ipc.h +++ /dev/null @@ -1,14 +0,0 @@ -struct ipc_perm { - key_t __ipc_perm_key; - uid_t uid; - gid_t gid; - uid_t cuid; - gid_t cgid; - mode_t mode; - unsigned short __ipc_perm_seq; - - unsigned long __pad1; - unsigned long __pad2; -}; - -#define IPC_64 0 \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/sem.h b/lib/libc/include/riscv64-linux-musl/bits/sem.h deleted file mode 100644 index d1734344c1..0000000000 --- a/lib/libc/include/riscv64-linux-musl/bits/sem.h +++ /dev/null @@ -1,9 +0,0 @@ -struct semid_ds { - struct ipc_perm sem_perm; - time_t sem_otime; - time_t sem_ctime; - unsigned short sem_nsems; - char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; - time_t __unused3; - time_t __unused4; -}; \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/shm.h b/lib/libc/include/riscv64-linux-musl/bits/shm.h deleted file mode 100644 index 10041f9bf2..0000000000 --- a/lib/libc/include/riscv64-linux-musl/bits/shm.h +++ /dev/null @@ -1,25 +0,0 @@ -#define SHMLBA 4096 - -struct shmid_ds -{ - struct ipc_perm shm_perm; - size_t shm_segsz; - time_t shm_atime; - time_t shm_dtime; - time_t shm_ctime; - pid_t shm_cpid; - pid_t shm_lpid; - unsigned long shm_nattch; - unsigned long __pad1; - unsigned long __pad2; -}; - -struct shminfo { - unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; -}; - -struct shm_info { - int __used_ids; - unsigned long shm_tot, shm_rss, shm_swp; - unsigned long __swap_attempts, __swap_successes; -}; \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/signal.h b/lib/libc/include/riscv64-linux-musl/bits/signal.h index 2e3110d7db..5eddfd18bc 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/signal.h +++ b/lib/libc/include/riscv64-linux-musl/bits/signal.h @@ -6,46 +6,43 @@ # define SIGSTKSZ 8192 #endif -/* gregs[0] holds the program counter. */ +typedef unsigned long __riscv_mc_gp_state[32]; + +struct __riscv_mc_f_ext_state { + unsigned int __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_d_ext_state { + unsigned long long __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_q_ext_state { + unsigned long long __f[64] __attribute__((aligned(16))); + unsigned int __fcsr; + unsigned int __reserved[3]; +}; + +union __riscv_mc_fp_state { + struct __riscv_mc_f_ext_state __f; + struct __riscv_mc_d_ext_state __d; + struct __riscv_mc_q_ext_state __q; +}; + +typedef struct mcontext_t { + __riscv_mc_gp_state __gregs; + union __riscv_mc_fp_state __fpregs; +} mcontext_t; #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) typedef unsigned long greg_t; typedef unsigned long gregset_t[32]; - -struct __riscv_f_ext_state { - unsigned int f[32]; - unsigned int fcsr; -}; - -struct __riscv_d_ext_state { - unsigned long long f[32]; - unsigned int fcsr; -}; - -struct __riscv_q_ext_state { - unsigned long long f[64] __attribute__((aligned(16))); - unsigned int fcsr; - unsigned int reserved[3]; -}; - -union __riscv_fp_state { - struct __riscv_f_ext_state f; - struct __riscv_d_ext_state d; - struct __riscv_q_ext_state q; -}; - -typedef union __riscv_fp_state fpregset_t; - -typedef struct sigcontext { +typedef union __riscv_mc_fp_state fpregset_t; +struct sigcontext { gregset_t gregs; fpregset_t fpregs; -} mcontext_t; - -#else -typedef struct { - unsigned long gregs[32]; - unsigned long long fpregs[66]; -} mcontext_t; +}; #endif struct sigaltstack { @@ -54,10 +51,10 @@ struct sigaltstack { size_t ss_size; }; -typedef struct __ucontext +typedef struct ucontext_t { unsigned long uc_flags; - struct __ucontext *uc_link; + struct ucontext_t *uc_link; stack_t uc_stack; sigset_t uc_sigmask; mcontext_t uc_mcontext; diff --git a/lib/libc/include/riscv64-linux-musl/bits/syscall.h b/lib/libc/include/riscv64-linux-musl/bits/syscall.h index 94dcafb697..423de02ab1 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/syscall.h +++ b/lib/libc/include/riscv64-linux-musl/bits/syscall.h @@ -273,6 +273,21 @@ #define __NR_pkey_mprotect 288 #define __NR_pkey_alloc 289 #define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 + #define __NR_sysriscv __NR_arch_specific_syscall #define __NR_riscv_flush_icache (__NR_sysriscv + 15) #define SYS_io_setup 0 @@ -550,5 +565,19 @@ #define SYS_pkey_mprotect 288 #define SYS_pkey_alloc 289 #define SYS_pkey_free 290 +#define SYS_statx 291 +#define SYS_io_pgetevents 292 +#define SYS_rseq 293 +#define SYS_kexec_file_load 294 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 #define SYS_sysriscv __NR_arch_specific_syscall #define SYS_riscv_flush_icache (__NR_sysriscv + 15) \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-musl/bits/user.h b/lib/libc/include/riscv64-linux-musl/bits/user.h index 2f23ff4a72..ffeab50d0d 100644 --- a/lib/libc/include/riscv64-linux-musl/bits/user.h +++ b/lib/libc/include/riscv64-linux-musl/bits/user.h @@ -1,43 +1,5 @@ -struct user_regs_struct { - unsigned long pc; - unsigned long ra; - unsigned long sp; - unsigned long gp; - unsigned long tp; - unsigned long t0; - unsigned long t1; - unsigned long t2; - unsigned long s0; - unsigned long s1; - unsigned long a0; - unsigned long a1; - unsigned long a2; - unsigned long a3; - unsigned long a4; - unsigned long a5; - unsigned long a6; - unsigned long a7; - unsigned long s2; - unsigned long s3; - unsigned long s4; - unsigned long s5; - unsigned long s6; - unsigned long s7; - unsigned long s8; - unsigned long s9; - unsigned long s10; - unsigned long s11; - unsigned long t3; - unsigned long t4; - unsigned long t5; - unsigned long t6; -}; - -struct user_fpregs_struct { - double f[32]; - unsigned int fcsr; -}; +#include #define ELF_NGREG 32 typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; -typedef struct user_fpregs_struct elf_fpregset_t; \ No newline at end of file +typedef union __riscv_mc_fp_state elf_fpregset_t; \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/ipc.h b/lib/libc/include/s390x-linux-musl/bits/ipc.h deleted file mode 100644 index 7aaaf25c08..0000000000 --- a/lib/libc/include/s390x-linux-musl/bits/ipc.h +++ /dev/null @@ -1,14 +0,0 @@ -struct ipc_perm { - key_t __ipc_perm_key; - uid_t uid; - gid_t gid; - uid_t cuid; - gid_t cgid; - mode_t mode; - unsigned short __pad1; - unsigned short __ipc_perm_seq; - unsigned long __pad2; - unsigned long __pad3; -}; - -#define IPC_64 0x100 \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/msg.h b/lib/libc/include/s390x-linux-musl/bits/msg.h deleted file mode 100644 index 39bdf2a3de..0000000000 --- a/lib/libc/include/s390x-linux-musl/bits/msg.h +++ /dev/null @@ -1,12 +0,0 @@ -struct msqid_ds { - struct ipc_perm msg_perm; - time_t msg_stime; - time_t msg_rtime; - time_t msg_ctime; - unsigned long msg_cbytes; - msgqnum_t msg_qnum; - msglen_t msg_qbytes; - pid_t msg_lspid; - pid_t msg_lrpid; - unsigned long __unused[2]; -}; \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/posix.h b/lib/libc/include/s390x-linux-musl/bits/posix.h deleted file mode 100644 index 9fcc205cc1..0000000000 --- a/lib/libc/include/s390x-linux-musl/bits/posix.h +++ /dev/null @@ -1,2 +0,0 @@ -#define _POSIX_V6_LP64_OFF64 1 -#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/reg.h b/lib/libc/include/s390x-linux-musl/bits/reg.h deleted file mode 100644 index 0afb6bd06c..0000000000 --- a/lib/libc/include/s390x-linux-musl/bits/reg.h +++ /dev/null @@ -1,2 +0,0 @@ -#undef __WORDSIZE -#define __WORDSIZE 64 \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/sem.h b/lib/libc/include/s390x-linux-musl/bits/sem.h deleted file mode 100644 index e19b055922..0000000000 --- a/lib/libc/include/s390x-linux-musl/bits/sem.h +++ /dev/null @@ -1,7 +0,0 @@ -struct semid_ds { - struct ipc_perm sem_perm; - time_t sem_otime; - time_t sem_ctime; - unsigned short __pad[3], sem_nsems; - unsigned long __unused[2]; -}; \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-musl/bits/syscall.h b/lib/libc/include/s390x-linux-musl/bits/syscall.h index ee654f930c..e2436d95c8 100644 --- a/lib/libc/include/s390x-linux-musl/bits/syscall.h +++ b/lib/libc/include/s390x-linux-musl/bits/syscall.h @@ -344,6 +344,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_exit 1 #define SYS_fork 2 @@ -690,4 +696,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/ipc.h b/lib/libc/include/x86_64-linux-musl/bits/ipc.h deleted file mode 100644 index 2d01152c72..0000000000 --- a/lib/libc/include/x86_64-linux-musl/bits/ipc.h +++ /dev/null @@ -1,13 +0,0 @@ -struct ipc_perm { - key_t __ipc_perm_key; - uid_t uid; - gid_t gid; - uid_t cuid; - gid_t cgid; - mode_t mode; - int __ipc_perm_seq; - long __pad1; - long __pad2; -}; - -#define IPC_64 0 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/msg.h b/lib/libc/include/x86_64-linux-musl/bits/msg.h deleted file mode 100644 index 39bdf2a3de..0000000000 --- a/lib/libc/include/x86_64-linux-musl/bits/msg.h +++ /dev/null @@ -1,12 +0,0 @@ -struct msqid_ds { - struct ipc_perm msg_perm; - time_t msg_stime; - time_t msg_rtime; - time_t msg_ctime; - unsigned long msg_cbytes; - msgqnum_t msg_qnum; - msglen_t msg_qbytes; - pid_t msg_lspid; - pid_t msg_lrpid; - unsigned long __unused[2]; -}; \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/posix.h b/lib/libc/include/x86_64-linux-musl/bits/posix.h deleted file mode 100644 index 9fcc205cc1..0000000000 --- a/lib/libc/include/x86_64-linux-musl/bits/posix.h +++ /dev/null @@ -1,2 +0,0 @@ -#define _POSIX_V6_LP64_OFF64 1 -#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/sem.h b/lib/libc/include/x86_64-linux-musl/bits/sem.h new file mode 100644 index 0000000000..e63d0732bb --- /dev/null +++ b/lib/libc/include/x86_64-linux-musl/bits/sem.h @@ -0,0 +1,11 @@ +struct semid_ds { + struct ipc_perm sem_perm; + time_t sem_otime; + long __unused1; + time_t sem_ctime; + long __unused2; + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + long __unused3; + long __unused4; +}; \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-musl/bits/syscall.h b/lib/libc/include/x86_64-linux-musl/bits/syscall.h index 8e0379afa1..fed8f0384e 100644 --- a/lib/libc/include/x86_64-linux-musl/bits/syscall.h +++ b/lib/libc/include/x86_64-linux-musl/bits/syscall.h @@ -337,6 +337,12 @@ #define __NR_io_uring_setup 425 #define __NR_io_uring_enter 426 #define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 #define SYS_read 0 #define SYS_write 1 @@ -676,4 +682,10 @@ #define SYS_pidfd_send_signal 424 #define SYS_io_uring_setup 425 #define SYS_io_uring_enter 426 -#define SYS_io_uring_register 427 \ No newline at end of file +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 \ No newline at end of file