[fusl] Remove code for unsupported architectures
Only leave x86_64, x32 (ILP32 on 64 bit hardware), and aarch64 support.
R=phosek@chromium.org, viettrungluu@chromium.org
Review URL: https://codereview.chromium.org/1724903002 .
diff --git a/fusl/arch/arm/atomic_arch.h b/fusl/arch/arm/atomic_arch.h
deleted file mode 100644
index a9a562e..0000000
--- a/fusl/arch/arm/atomic_arch.h
+++ /dev/null
@@ -1,76 +0,0 @@
-__attribute__((__visibility__(
- "hidden"))) extern const void* __arm_atomics[3]; /* gettp, cas, barrier */
-
-#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) || \
- __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
-
-#define a_ll a_ll
-static inline int a_ll(volatile int* p) {
- int v;
- __asm__ __volatile__("ldrex %0, %1" : "=r"(v) : "Q"(*p));
- return v;
-}
-
-#define a_sc a_sc
-static inline int a_sc(volatile int* p, int v) {
- int r;
- __asm__ __volatile__("strex %0,%2,%1"
- : "=&r"(r), "=Q"(*p)
- : "r"(v)
- : "memory");
- return !r;
-}
-
-#if __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
-
-#define a_barrier a_barrier
-static inline void a_barrier() {
- __asm__ __volatile__("dmb ish" : : : "memory");
-}
-
-#endif
-
-#define a_pre_llsc a_barrier
-#define a_post_llsc a_barrier
-
-#else
-
-#define a_cas a_cas
-static inline int a_cas(volatile int* p, int t, int s) {
- for (;;) {
- register int r0 __asm__("r0") = t;
- register int r1 __asm__("r1") = s;
- register volatile int* r2 __asm__("r2") = p;
- int old;
- __asm__ __volatile__("bl __a_cas"
- : "+r"(r0)
- : "r"(r1), "r"(r2)
- : "memory", "r3", "lr", "ip", "cc");
- if (!r0)
- return t;
- if ((old = *p) != t)
- return old;
- }
-}
-
-#endif
-
-#ifndef a_barrier
-#define a_barrier a_barrier
-static inline void a_barrier() {
- __asm__ __volatile__("bl __a_barrier" : : : "memory", "cc", "ip", "lr");
-}
-#endif
-
-#define a_crash a_crash
-static inline void a_crash() {
- __asm__ __volatile__(
-#ifndef __thumb__
- ".word 0xe7f000f0"
-#else
- ".short 0xdeff"
-#endif
- :
- :
- : "memory");
-}
diff --git a/fusl/arch/arm/bits/alltypes.h.in b/fusl/arch/arm/bits/alltypes.h.in
deleted file mode 100644
index 667963c..0000000
--- a/fusl/arch/arm/bits/alltypes.h.in
+++ /dev/null
@@ -1,26 +0,0 @@
-#define _Addr int
-#define _Int64 long long
-#define _Reg int
-
-TYPEDEF __builtin_va_list va_list;
-TYPEDEF __builtin_va_list __isoc_va_list;
-
-#ifndef __cplusplus
-TYPEDEF unsigned wchar_t;
-#endif
-
-TYPEDEF float float_t;
-TYPEDEF double double_t;
-
-TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-
-TYPEDEF long time_t;
-TYPEDEF long suseconds_t;
-
-TYPEDEF struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
-TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-TYPEDEF struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
diff --git a/fusl/arch/arm/bits/endian.h b/fusl/arch/arm/bits/endian.h
deleted file mode 100644
index 5953724..0000000
--- a/fusl/arch/arm/bits/endian.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#if __ARMEB__
-#define __BYTE_ORDER __BIG_ENDIAN
-#else
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
diff --git a/fusl/arch/arm/bits/fcntl.h b/fusl/arch/arm/bits/fcntl.h
deleted file mode 100644
index 6796d1d..0000000
--- a/fusl/arch/arm/bits/fcntl.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#define O_CREAT 0100
-#define O_EXCL 0200
-#define O_NOCTTY 0400
-#define O_TRUNC 01000
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_DSYNC 010000
-#define O_SYNC 04010000
-#define O_RSYNC 04010000
-#define O_DIRECTORY 040000
-#define O_NOFOLLOW 0100000
-#define O_CLOEXEC 02000000
-
-#define O_ASYNC 020000
-#define O_DIRECT 0200000
-#define O_LARGEFILE 0400000
-#define O_NOATIME 01000000
-#define O_PATH 010000000
-#define O_TMPFILE 020040000
-#define O_NDELAY O_NONBLOCK
-
-#define F_DUPFD 0
-#define F_GETFD 1
-#define F_SETFD 2
-#define F_GETFL 3
-#define F_SETFL 4
-
-#define F_SETOWN 8
-#define F_GETOWN 9
-#define F_SETSIG 10
-#define F_GETSIG 11
-
-#define F_GETLK 12
-#define F_SETLK 13
-#define F_SETLKW 14
-
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-
-#define F_GETOWNER_UIDS 17
diff --git a/fusl/arch/arm/bits/fenv.h b/fusl/arch/arm/bits/fenv.h
deleted file mode 100644
index 2bf1835..0000000
--- a/fusl/arch/arm/bits/fenv.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef __ARM_PCS_VFP
-#define FE_ALL_EXCEPT 0
-#define FE_TONEAREST 0
-#else
-#define FE_INVALID 1
-#define FE_DIVBYZERO 2
-#define FE_OVERFLOW 4
-#define FE_UNDERFLOW 8
-#define FE_INEXACT 16
-#define FE_ALL_EXCEPT 31
-#define FE_TONEAREST 0
-#define FE_DOWNWARD 0x800000
-#define FE_UPWARD 0x400000
-#define FE_TOWARDZERO 0xc00000
-#endif
-
-typedef unsigned long fexcept_t;
-
-typedef struct { unsigned long __cw; } fenv_t;
-
-#define FE_DFL_ENV ((const fenv_t*)-1)
diff --git a/fusl/arch/arm/bits/float.h b/fusl/arch/arm/bits/float.h
deleted file mode 100644
index c4a655e..0000000
--- a/fusl/arch/arm/bits/float.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#define FLT_EVAL_METHOD 0
-
-#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-#define LDBL_MIN 2.22507385850720138309e-308L
-#define LDBL_MAX 1.79769313486231570815e+308L
-#define LDBL_EPSILON 2.22044604925031308085e-16L
-
-#define LDBL_MANT_DIG 53
-#define LDBL_MIN_EXP (-1021)
-#define LDBL_MAX_EXP 1024
-
-#define LDBL_DIG 15
-#define LDBL_MIN_10_EXP (-307)
-#define LDBL_MAX_10_EXP 308
-
-#define DECIMAL_DIG 17
diff --git a/fusl/arch/arm/bits/limits.h b/fusl/arch/arm/bits/limits.h
deleted file mode 100644
index 6d8b298..0000000
--- a/fusl/arch/arm/bits/limits.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define PAGE_SIZE 4096
-#define LONG_BIT 32
-#endif
-
-#define LONG_MAX 0x7fffffffL
-#define LLONG_MAX 0x7fffffffffffffffLL
diff --git a/fusl/arch/arm/bits/mman.h b/fusl/arch/arm/bits/mman.h
deleted file mode 100644
index e5f3215..0000000
--- a/fusl/arch/arm/bits/mman.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#define MAP_FAILED ((void*)-1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x20
-#define MAP_ANONYMOUS MAP_ANON
-#define MAP_NORESERVE 0x4000
-#define MAP_GROWSDOWN 0x0100
-#define MAP_DENYWRITE 0x0800
-#define MAP_EXECUTABLE 0x1000
-#define MAP_LOCKED 0x2000
-#define MAP_POPULATE 0x8000
-#define MAP_NONBLOCK 0x10000
-#define MAP_STACK 0x20000
-#define MAP_HUGETLB 0x40000
-
-#define POSIX_MADV_NORMAL 0
-#define POSIX_MADV_RANDOM 1
-#define POSIX_MADV_SEQUENTIAL 2
-#define POSIX_MADV_WILLNEED 3
-#define POSIX_MADV_DONTNEED 0
-
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
-#define MCL_CURRENT 1
-#define MCL_FUTURE 2
-#define MCL_ONFAULT 4
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
-#define MADV_MERGEABLE 12
-#define MADV_UNMERGEABLE 13
-#define MADV_HUGEPAGE 14
-#define MADV_NOHUGEPAGE 15
-#define MADV_DONTDUMP 16
-#define MADV_DODUMP 17
-#define MADV_HWPOISON 100
-#define MADV_SOFT_OFFLINE 101
-#endif
diff --git a/fusl/arch/arm/bits/posix.h b/fusl/arch/arm/bits/posix.h
deleted file mode 100644
index 8897d37..0000000
--- a/fusl/arch/arm/bits/posix.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define _POSIX_V6_ILP32_OFFBIG 1
-#define _POSIX_V7_ILP32_OFFBIG 1
diff --git a/fusl/arch/arm/bits/reg.h b/fusl/arch/arm/bits/reg.h
deleted file mode 100644
index 0c7bffc..0000000
--- a/fusl/arch/arm/bits/reg.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#undef __WORDSIZE
-#define __WORDSIZE 32
-/* FIXME */
diff --git a/fusl/arch/arm/bits/setjmp.h b/fusl/arch/arm/bits/setjmp.h
deleted file mode 100644
index 55e3a95..0000000
--- a/fusl/arch/arm/bits/setjmp.h
+++ /dev/null
@@ -1 +0,0 @@
-typedef unsigned long long __jmp_buf[32];
diff --git a/fusl/arch/arm/bits/signal.h b/fusl/arch/arm/bits/signal.h
deleted file mode 100644
index 30db397..0000000
--- a/fusl/arch/arm/bits/signal.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-typedef int greg_t, gregset_t[18];
-typedef struct sigcontext {
- unsigned long trap_no, error_code, oldmask;
- unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
- unsigned long arm_r4, arm_r5, arm_r6, arm_r7;
- unsigned long arm_r8, arm_r9, arm_r10, arm_fp;
- unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
- unsigned long arm_cpsr, fault_address;
-} mcontext_t;
-#else
-typedef struct { unsigned long __regs[21]; } mcontext_t;
-#endif
-
-struct sigaltstack {
- void* ss_sp;
- int ss_flags;
- size_t ss_size;
-};
-
-typedef struct __ucontext {
- unsigned long uc_flags;
- struct __ucontext* uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
- unsigned long long uc_regspace[64];
-} ucontext_t;
-
-#define SA_NOCLDSTOP 1
-#define SA_NOCLDWAIT 2
-#define SA_SIGINFO 4
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-#define SA_RESTORER 0x04000000
-
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT SIGABRT
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL 29
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED SIGSYS
-
-#define _NSIG 65
diff --git a/fusl/arch/arm/bits/stat.h b/fusl/arch/arm/bits/stat.h
deleted file mode 100644
index ab45e4c..0000000
--- a/fusl/arch/arm/bits/stat.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- int __st_rdev_padding;
- off_t st_size;
- blksize_t st_blksize;
- blkcnt_t st_blocks;
- struct timespec st_atim;
- struct timespec st_mtim;
- struct timespec st_ctim;
- ino_t st_ino;
-};
diff --git a/fusl/arch/arm/bits/stdint.h b/fusl/arch/arm/bits/stdint.h
deleted file mode 100644
index 93ec5df..0000000
--- a/fusl/arch/arm/bits/stdint.h
+++ /dev/null
@@ -1,20 +0,0 @@
-typedef int32_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef uint32_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-
-#define INT_FAST16_MIN INT32_MIN
-#define INT_FAST32_MIN INT32_MIN
-
-#define INT_FAST16_MAX INT32_MAX
-#define INT_FAST32_MAX INT32_MAX
-
-#define UINT_FAST16_MAX UINT32_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-#define SIZE_MAX UINT32_MAX
diff --git a/fusl/arch/arm/bits/syscall.h b/fusl/arch/arm/bits/syscall.h
deleted file mode 100644
index 42ca76b..0000000
--- a/fusl/arch/arm/bits/syscall.h
+++ /dev/null
@@ -1,701 +0,0 @@
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_ptrace 26
-#define __NR_pause 29
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_setpgid 57
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_symlink 83
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_vhangup 111
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread64 180
-#define __NR_pwrite64 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_getdents64 217
-#define __NR_pivot_root 218
-#define __NR_mincore 219
-#define __NR_madvise 220
-#define __NR_fcntl64 221
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_io_setup 243
-#define __NR_io_destroy 244
-#define __NR_io_getevents 245
-#define __NR_io_submit 246
-#define __NR_io_cancel 247
-#define __NR_exit_group 248
-#define __NR_lookup_dcookie 249
-#define __NR_epoll_create 250
-#define __NR_epoll_ctl 251
-#define __NR_epoll_wait 252
-#define __NR_remap_file_pages 253
-#define __NR_set_tid_address 256
-#define __NR_timer_create 257
-#define __NR_timer_settime 258
-#define __NR_timer_gettime 259
-#define __NR_timer_getoverrun 260
-#define __NR_timer_delete 261
-#define __NR_clock_settime 262
-#define __NR_clock_gettime 263
-#define __NR_clock_getres 264
-#define __NR_clock_nanosleep 265
-#define __NR_statfs64 266
-#define __NR_fstatfs64 267
-#define __NR_tgkill 268
-#define __NR_utimes 269
-#define __NR_fadvise64_64 270
-#define __NR_pciconfig_iobase 271
-#define __NR_pciconfig_read 272
-#define __NR_pciconfig_write 273
-#define __NR_mq_open 274
-#define __NR_mq_unlink 275
-#define __NR_mq_timedsend 276
-#define __NR_mq_timedreceive 277
-#define __NR_mq_notify 278
-#define __NR_mq_getsetattr 279
-#define __NR_waitid 280
-#define __NR_socket 281
-#define __NR_bind 282
-#define __NR_connect 283
-#define __NR_listen 284
-#define __NR_accept 285
-#define __NR_getsockname 286
-#define __NR_getpeername 287
-#define __NR_socketpair 288
-#define __NR_send 289
-#define __NR_sendto 290
-#define __NR_recv 291
-#define __NR_recvfrom 292
-#define __NR_shutdown 293
-#define __NR_setsockopt 294
-#define __NR_getsockopt 295
-#define __NR_sendmsg 296
-#define __NR_recvmsg 297
-#define __NR_semop 298
-#define __NR_semget 299
-#define __NR_semctl 300
-#define __NR_msgsnd 301
-#define __NR_msgrcv 302
-#define __NR_msgget 303
-#define __NR_msgctl 304
-#define __NR_shmat 305
-#define __NR_shmdt 306
-#define __NR_shmget 307
-#define __NR_shmctl 308
-#define __NR_add_key 309
-#define __NR_request_key 310
-#define __NR_keyctl 311
-#define __NR_semtimedop 312
-#define __NR_vserver 313
-#define __NR_ioprio_set 314
-#define __NR_ioprio_get 315
-#define __NR_inotify_init 316
-#define __NR_inotify_add_watch 317
-#define __NR_inotify_rm_watch 318
-#define __NR_mbind 319
-#define __NR_get_mempolicy 320
-#define __NR_set_mempolicy 321
-#define __NR_openat 322
-#define __NR_mkdirat 323
-#define __NR_mknodat 324
-#define __NR_fchownat 325
-#define __NR_futimesat 326
-#define __NR_fstatat64 327
-#define __NR_unlinkat 328
-#define __NR_renameat 329
-#define __NR_linkat 330
-#define __NR_symlinkat 331
-#define __NR_readlinkat 332
-#define __NR_fchmodat 333
-#define __NR_faccessat 334
-#define __NR_pselect6 335
-#define __NR_ppoll 336
-#define __NR_unshare 337
-#define __NR_set_robust_list 338
-#define __NR_get_robust_list 339
-#define __NR_splice 340
-#define __NR_sync_file_range2 341
-#define __NR_tee 342
-#define __NR_vmsplice 343
-#define __NR_move_pages 344
-#define __NR_getcpu 345
-#define __NR_epoll_pwait 346
-#define __NR_kexec_load 347
-#define __NR_utimensat 348
-#define __NR_signalfd 349
-#define __NR_timerfd_create 350
-#define __NR_eventfd 351
-#define __NR_fallocate 352
-#define __NR_timerfd_settime 353
-#define __NR_timerfd_gettime 354
-#define __NR_signalfd4 355
-#define __NR_eventfd2 356
-#define __NR_epoll_create1 357
-#define __NR_dup3 358
-#define __NR_pipe2 359
-#define __NR_inotify_init1 360
-#define __NR_preadv 361
-#define __NR_pwritev 362
-#define __NR_rt_tgsigqueueinfo 363
-#define __NR_perf_event_open 364
-#define __NR_recvmmsg 365
-#define __NR_accept4 366
-#define __NR_fanotify_init 367
-#define __NR_fanotify_mark 368
-#define __NR_prlimit64 369
-#define __NR_name_to_handle_at 370
-#define __NR_open_by_handle_at 371
-#define __NR_clock_adjtime 372
-#define __NR_syncfs 373
-#define __NR_sendmmsg 374
-#define __NR_setns 375
-#define __NR_process_vm_readv 376
-#define __NR_process_vm_writev 377
-#define __NR_kcmp 378
-#define __NR_finit_module 379
-#define __NR_sched_setattr 380
-#define __NR_sched_getattr 381
-#define __NR_renameat2 382
-#define __NR_seccomp 383
-#define __NR_getrandom 384
-#define __NR_memfd_create 385
-#define __NR_bpf 386
-#define __NR_execveat 387
-#define __NR_userfaultfd 388
-#define __NR_membarrier 389
-#define __NR_mlock2 390
-
-#define __ARM_NR_breakpoint 0x0f0001
-#define __ARM_NR_cacheflush 0x0f0002
-#define __ARM_NR_usr26 0x0f0003
-#define __ARM_NR_usr32 0x0f0004
-#define __ARM_NR_set_tls 0x0f0005
-
-/* Repeated with SYS_ prefix */
-
-#define SYS_restart_syscall 0
-#define SYS_exit 1
-#define SYS_fork 2
-#define SYS_read 3
-#define SYS_write 4
-#define SYS_open 5
-#define SYS_close 6
-#define SYS_creat 8
-#define SYS_link 9
-#define SYS_unlink 10
-#define SYS_execve 11
-#define SYS_chdir 12
-#define SYS_mknod 14
-#define SYS_chmod 15
-#define SYS_lchown 16
-#define SYS_lseek 19
-#define SYS_getpid 20
-#define SYS_mount 21
-#define SYS_setuid 23
-#define SYS_getuid 24
-#define SYS_ptrace 26
-#define SYS_pause 29
-#define SYS_access 33
-#define SYS_nice 34
-#define SYS_sync 36
-#define SYS_kill 37
-#define SYS_rename 38
-#define SYS_mkdir 39
-#define SYS_rmdir 40
-#define SYS_dup 41
-#define SYS_pipe 42
-#define SYS_times 43
-#define SYS_brk 45
-#define SYS_setgid 46
-#define SYS_getgid 47
-#define SYS_geteuid 49
-#define SYS_getegid 50
-#define SYS_acct 51
-#define SYS_umount2 52
-#define SYS_ioctl 54
-#define SYS_fcntl 55
-#define SYS_setpgid 57
-#define SYS_umask 60
-#define SYS_chroot 61
-#define SYS_ustat 62
-#define SYS_dup2 63
-#define SYS_getppid 64
-#define SYS_getpgrp 65
-#define SYS_setsid 66
-#define SYS_sigaction 67
-#define SYS_setreuid 70
-#define SYS_setregid 71
-#define SYS_sigsuspend 72
-#define SYS_sigpending 73
-#define SYS_sethostname 74
-#define SYS_setrlimit 75
-#define SYS_getrusage 77
-#define SYS_gettimeofday 78
-#define SYS_settimeofday 79
-#define SYS_getgroups 80
-#define SYS_setgroups 81
-#define SYS_symlink 83
-#define SYS_readlink 85
-#define SYS_uselib 86
-#define SYS_swapon 87
-#define SYS_reboot 88
-#define SYS_munmap 91
-#define SYS_truncate 92
-#define SYS_ftruncate 93
-#define SYS_fchmod 94
-#define SYS_fchown 95
-#define SYS_getpriority 96
-#define SYS_setpriority 97
-#define SYS_statfs 99
-#define SYS_fstatfs 100
-#define SYS_syslog 103
-#define SYS_setitimer 104
-#define SYS_getitimer 105
-#define SYS_stat 106
-#define SYS_lstat 107
-#define SYS_fstat 108
-#define SYS_vhangup 111
-#define SYS_wait4 114
-#define SYS_swapoff 115
-#define SYS_sysinfo 116
-#define SYS_fsync 118
-#define SYS_sigreturn 119
-#define SYS_clone 120
-#define SYS_setdomainname 121
-#define SYS_uname 122
-#define SYS_adjtimex 124
-#define SYS_mprotect 125
-#define SYS_sigprocmask 126
-#define SYS_init_module 128
-#define SYS_delete_module 129
-#define SYS_quotactl 131
-#define SYS_getpgid 132
-#define SYS_fchdir 133
-#define SYS_bdflush 134
-#define SYS_sysfs 135
-#define SYS_personality 136
-#define SYS_setfsuid 138
-#define SYS_setfsgid 139
-#define SYS__llseek 140
-#define SYS_getdents 141
-#define SYS__newselect 142
-#define SYS_flock 143
-#define SYS_msync 144
-#define SYS_readv 145
-#define SYS_writev 146
-#define SYS_getsid 147
-#define SYS_fdatasync 148
-#define SYS__sysctl 149
-#define SYS_mlock 150
-#define SYS_munlock 151
-#define SYS_mlockall 152
-#define SYS_munlockall 153
-#define SYS_sched_setparam 154
-#define SYS_sched_getparam 155
-#define SYS_sched_setscheduler 156
-#define SYS_sched_getscheduler 157
-#define SYS_sched_yield 158
-#define SYS_sched_get_priority_max 159
-#define SYS_sched_get_priority_min 160
-#define SYS_sched_rr_get_interval 161
-#define SYS_nanosleep 162
-#define SYS_mremap 163
-#define SYS_setresuid 164
-#define SYS_getresuid 165
-#define SYS_poll 168
-#define SYS_nfsservctl 169
-#define SYS_setresgid 170
-#define SYS_getresgid 171
-#define SYS_prctl 172
-#define SYS_rt_sigreturn 173
-#define SYS_rt_sigaction 174
-#define SYS_rt_sigprocmask 175
-#define SYS_rt_sigpending 176
-#define SYS_rt_sigtimedwait 177
-#define SYS_rt_sigqueueinfo 178
-#define SYS_rt_sigsuspend 179
-#define SYS_pread64 180
-#define SYS_pwrite64 181
-#define SYS_chown 182
-#define SYS_getcwd 183
-#define SYS_capget 184
-#define SYS_capset 185
-#define SYS_sigaltstack 186
-#define SYS_sendfile 187
-#define SYS_vfork 190
-#define SYS_ugetrlimit 191
-#define SYS_mmap2 192
-#define SYS_truncate64 193
-#define SYS_ftruncate64 194
-#define SYS_stat64 195
-#define SYS_lstat64 196
-#define SYS_fstat64 197
-#define SYS_lchown32 198
-#define SYS_getuid32 199
-#define SYS_getgid32 200
-#define SYS_geteuid32 201
-#define SYS_getegid32 202
-#define SYS_setreuid32 203
-#define SYS_setregid32 204
-#define SYS_getgroups32 205
-#define SYS_setgroups32 206
-#define SYS_fchown32 207
-#define SYS_setresuid32 208
-#define SYS_getresuid32 209
-#define SYS_setresgid32 210
-#define SYS_getresgid32 211
-#define SYS_chown32 212
-#define SYS_setuid32 213
-#define SYS_setgid32 214
-#define SYS_setfsuid32 215
-#define SYS_setfsgid32 216
-#define SYS_getdents64 217
-#define SYS_pivot_root 218
-#define SYS_mincore 219
-#define SYS_madvise 220
-#define SYS_fcntl64 221
-#define SYS_gettid 224
-#define SYS_readahead 225
-#define SYS_setxattr 226
-#define SYS_lsetxattr 227
-#define SYS_fsetxattr 228
-#define SYS_getxattr 229
-#define SYS_lgetxattr 230
-#define SYS_fgetxattr 231
-#define SYS_listxattr 232
-#define SYS_llistxattr 233
-#define SYS_flistxattr 234
-#define SYS_removexattr 235
-#define SYS_lremovexattr 236
-#define SYS_fremovexattr 237
-#define SYS_tkill 238
-#define SYS_sendfile64 239
-#define SYS_futex 240
-#define SYS_sched_setaffinity 241
-#define SYS_sched_getaffinity 242
-#define SYS_io_setup 243
-#define SYS_io_destroy 244
-#define SYS_io_getevents 245
-#define SYS_io_submit 246
-#define SYS_io_cancel 247
-#define SYS_exit_group 248
-#define SYS_lookup_dcookie 249
-#define SYS_epoll_create 250
-#define SYS_epoll_ctl 251
-#define SYS_epoll_wait 252
-#define SYS_remap_file_pages 253
-#define SYS_set_tid_address 256
-#define SYS_timer_create 257
-#define SYS_timer_settime 258
-#define SYS_timer_gettime 259
-#define SYS_timer_getoverrun 260
-#define SYS_timer_delete 261
-#define SYS_clock_settime 262
-#define SYS_clock_gettime 263
-#define SYS_clock_getres 264
-#define SYS_clock_nanosleep 265
-#define SYS_statfs64 266
-#define SYS_fstatfs64 267
-#define SYS_tgkill 268
-#define SYS_utimes 269
-#define SYS_fadvise64_64 270
-#define SYS_pciconfig_iobase 271
-#define SYS_pciconfig_read 272
-#define SYS_pciconfig_write 273
-#define SYS_mq_open 274
-#define SYS_mq_unlink 275
-#define SYS_mq_timedsend 276
-#define SYS_mq_timedreceive 277
-#define SYS_mq_notify 278
-#define SYS_mq_getsetattr 279
-#define SYS_waitid 280
-#define SYS_socket 281
-#define SYS_bind 282
-#define SYS_connect 283
-#define SYS_listen 284
-#define SYS_accept 285
-#define SYS_getsockname 286
-#define SYS_getpeername 287
-#define SYS_socketpair 288
-#define SYS_send 289
-#define SYS_sendto 290
-#define SYS_recv 291
-#define SYS_recvfrom 292
-#define SYS_shutdown 293
-#define SYS_setsockopt 294
-#define SYS_getsockopt 295
-#define SYS_sendmsg 296
-#define SYS_recvmsg 297
-#define SYS_semop 298
-#define SYS_semget 299
-#define SYS_semctl 300
-#define SYS_msgsnd 301
-#define SYS_msgrcv 302
-#define SYS_msgget 303
-#define SYS_msgctl 304
-#define SYS_shmat 305
-#define SYS_shmdt 306
-#define SYS_shmget 307
-#define SYS_shmctl 308
-#define SYS_add_key 309
-#define SYS_request_key 310
-#define SYS_keyctl 311
-#define SYS_semtimedop 312
-#define SYS_vserver 313
-#define SYS_ioprio_set 314
-#define SYS_ioprio_get 315
-#define SYS_inotify_init 316
-#define SYS_inotify_add_watch 317
-#define SYS_inotify_rm_watch 318
-#define SYS_mbind 319
-#define SYS_get_mempolicy 320
-#define SYS_set_mempolicy 321
-#define SYS_openat 322
-#define SYS_mkdirat 323
-#define SYS_mknodat 324
-#define SYS_fchownat 325
-#define SYS_futimesat 326
-#define SYS_fstatat64 327
-#define SYS_unlinkat 328
-#define SYS_renameat 329
-#define SYS_linkat 330
-#define SYS_symlinkat 331
-#define SYS_readlinkat 332
-#define SYS_fchmodat 333
-#define SYS_faccessat 334
-#define SYS_pselect6 335
-#define SYS_ppoll 336
-#define SYS_unshare 337
-#define SYS_set_robust_list 338
-#define SYS_get_robust_list 339
-#define SYS_splice 340
-#define SYS_sync_file_range2 341
-#define SYS_tee 342
-#define SYS_vmsplice 343
-#define SYS_move_pages 344
-#define SYS_getcpu 345
-#define SYS_epoll_pwait 346
-#define SYS_kexec_load 347
-#define SYS_utimensat 348
-#define SYS_signalfd 349
-#define SYS_timerfd_create 350
-#define SYS_eventfd 351
-#define SYS_fallocate 352
-#define SYS_timerfd_settime 353
-#define SYS_timerfd_gettime 354
-#define SYS_signalfd4 355
-#define SYS_eventfd2 356
-#define SYS_epoll_create1 357
-#define SYS_dup3 358
-#define SYS_pipe2 359
-#define SYS_inotify_init1 360
-#define SYS_preadv 361
-#define SYS_pwritev 362
-#define SYS_rt_tgsigqueueinfo 363
-#define SYS_perf_event_open 364
-#define SYS_recvmmsg 365
-#define SYS_accept4 366
-#define SYS_fanotify_init 367
-#define SYS_fanotify_mark 368
-#define SYS_prlimit64 369
-#define SYS_name_to_handle_at 370
-#define SYS_open_by_handle_at 371
-#define SYS_clock_adjtime 372
-#define SYS_syncfs 373
-#define SYS_sendmmsg 374
-#define SYS_setns 375
-#define SYS_process_vm_readv 376
-#define SYS_process_vm_writev 377
-#define SYS_kcmp 378
-#define SYS_finit_module 379
-#define SYS_sched_setattr 380
-#define SYS_sched_getattr 381
-#define SYS_renameat2 382
-#define SYS_seccomp 383
-#define SYS_getrandom 384
-#define SYS_memfd_create 385
-#define SYS_bpf 386
-#define SYS_execveat 387
-#define SYS_userfaultfd 388
-#define SYS_membarrier 389
-#define SYS_mlock2 390
diff --git a/fusl/arch/arm/bits/user.h b/fusl/arch/arm/bits/user.h
deleted file mode 100644
index e2cffe4..0000000
--- a/fusl/arch/arm/bits/user.h
+++ /dev/null
@@ -1,36 +0,0 @@
-typedef struct user_fpregs {
- struct fp_reg {
- unsigned sign1 : 1;
- unsigned unused : 15;
- unsigned sign2 : 1;
- unsigned exponent : 14;
- unsigned j : 1;
- unsigned mantissa1 : 31;
- unsigned mantissa0 : 32;
- } fpregs[8];
- unsigned fpsr : 32;
- unsigned fpcr : 32;
- unsigned char ftype[8];
- unsigned int init_flag;
-} elf_fpregset_t;
-
-struct user_regs {
- unsigned long uregs[18];
-};
-#define ELF_NGREG 18
-typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
-
-struct user {
- struct user_regs regs;
- int u_fpvalid;
- unsigned long u_tsize, u_dsize, u_ssize;
- unsigned long start_code, start_stack;
- long signal;
- int reserved;
- struct user_regs* u_ar0;
- unsigned long magic;
- char u_comm[32];
- int u_debugreg[8];
- struct user_fpregs u_fp;
- struct user_fpregs* u_fp0;
-};
diff --git a/fusl/arch/arm/crt_arch.h b/fusl/arch/arm/crt_arch.h
deleted file mode 100644
index a787e0b..0000000
--- a/fusl/arch/arm/crt_arch.h
+++ /dev/null
@@ -1,19 +0,0 @@
-__asm__(
- ".text \n"
- ".global " START
- " \n"
- ".type " START ",%function \n" START
- ": \n"
- " mov fp, #0 \n"
- " mov lr, #0 \n"
- " ldr a2, 1f \n"
- " add a2, pc, a2 \n"
- " mov a1, sp \n"
- "2: and ip, a1, #-16 \n"
- " mov sp, ip \n"
- " bl " START
- "_c \n"
- ".weak _DYNAMIC \n"
- ".hidden _DYNAMIC \n"
- ".align 2 \n"
- "1: .word _DYNAMIC-2b \n");
diff --git a/fusl/arch/arm/pthread_arch.h b/fusl/arch/arm/pthread_arch.h
deleted file mode 100644
index 8702ead..0000000
--- a/fusl/arch/arm/pthread_arch.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#if ((__ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) || \
- __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
-
-static inline pthread_t __pthread_self() {
- char* p;
- __asm__ __volatile__("mrc p15,0,%0,c13,c0,3" : "=r"(p));
- return (void*)(p + 8 - sizeof(struct pthread));
-}
-
-#else
-
-static inline pthread_t __pthread_self() {
-#ifdef __clang__
- char* p;
- __asm__ __volatile__("bl __a_gettp\n\tmov %0,r0"
- : "=r"(p)
- :
- : "cc", "r0", "lr");
-#else
- register char* p __asm__("r0");
- __asm__ __volatile__("bl __a_gettp" : "=r"(p) : : "cc", "lr");
-#endif
- return (void*)(p + 8 - sizeof(struct pthread));
-}
-
-#endif
-
-#define TLS_ABOVE_TP
-#define TP_ADJ(p) ((char*)(p) + sizeof(struct pthread) - 8)
-
-#define MC_PC arm_pc
diff --git a/fusl/arch/arm/reloc.h b/fusl/arch/arm/reloc.h
deleted file mode 100644
index 1feee96..0000000
--- a/fusl/arch/arm/reloc.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <endian.h>
-
-#if __BYTE_ORDER == __BIG_ENDIAN
-#define ENDIAN_SUFFIX "eb"
-#else
-#define ENDIAN_SUFFIX ""
-#endif
-
-#if __ARM_PCS_VFP
-#define FP_SUFFIX "hf"
-#else
-#define FP_SUFFIX ""
-#endif
-
-#define LDSO_ARCH "arm" ENDIAN_SUFFIX FP_SUFFIX
-
-#define NO_LEGACY_INITFINI
-
-#define TPOFF_K 8
-
-#define REL_SYMBOLIC R_ARM_ABS32
-#define REL_GOT R_ARM_GLOB_DAT
-#define REL_PLT R_ARM_JUMP_SLOT
-#define REL_RELATIVE R_ARM_RELATIVE
-#define REL_COPY R_ARM_COPY
-#define REL_DTPMOD R_ARM_TLS_DTPMOD32
-#define REL_DTPOFF R_ARM_TLS_DTPOFF32
-#define REL_TPOFF R_ARM_TLS_TPOFF32
-//#define REL_TLSDESC R_ARM_TLS_DESC
-
-#define CRTJMP(pc, sp) \
- __asm__ __volatile__("mov sp,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory")
diff --git a/fusl/arch/arm/syscall_arch.h b/fusl/arch/arm/syscall_arch.h
deleted file mode 100644
index 6405df5..0000000
--- a/fusl/arch/arm/syscall_arch.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#define __SYSCALL_LL_E(x) \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[0], \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[1]
-#define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-#define __asm_syscall(...) \
- do { \
- __asm__ __volatile__("svc 0" : "=r"(r0) : __VA_ARGS__ : "memory"); \
- return r0; \
- } while (0)
-
-static inline long __syscall0(long n) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0");
- __asm_syscall("r"(r7));
-}
-
-static inline long __syscall1(long n, long a) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- __asm_syscall("r"(r7), "0"(r0));
-}
-
-static inline long __syscall2(long n, long a, long b) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- register long r1 __asm__("r1") = b;
- __asm_syscall("r"(r7), "0"(r0), "r"(r1));
-}
-
-static inline long __syscall3(long n, long a, long b, long c) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- register long r1 __asm__("r1") = b;
- register long r2 __asm__("r2") = c;
- __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2));
-}
-
-static inline long __syscall4(long n, long a, long b, long c, long d) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- register long r1 __asm__("r1") = b;
- register long r2 __asm__("r2") = c;
- register long r3 __asm__("r3") = d;
- __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3));
-}
-
-static inline long __syscall5(long n, long a, long b, long c, long d, long e) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- register long r1 __asm__("r1") = b;
- register long r2 __asm__("r2") = c;
- register long r3 __asm__("r3") = d;
- register long r4 __asm__("r4") = e;
- __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4));
-}
-
-static inline long
-__syscall6(long n, long a, long b, long c, long d, long e, long f) {
- register long r7 __asm__("r7") = n;
- register long r0 __asm__("r0") = a;
- register long r1 __asm__("r1") = b;
- register long r2 __asm__("r2") = c;
- register long r3 __asm__("r3") = d;
- register long r4 __asm__("r4") = e;
- register long r5 __asm__("r5") = f;
- __asm_syscall("r"(r7), "0"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r4), "r"(r5));
-}
-
-#define VDSO_USEFUL
-#define VDSO_CGT_SYM "__vdso_clock_gettime"
-#define VDSO_CGT_VER "LINUX_2.6"
diff --git a/fusl/arch/i386/atomic_arch.h b/fusl/arch/i386/atomic_arch.h
deleted file mode 100644
index b12269a..0000000
--- a/fusl/arch/i386/atomic_arch.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#define a_cas a_cas
-static inline int a_cas(volatile int* p, int t, int s) {
- __asm__ __volatile__("lock ; cmpxchg %3, %1"
- : "=a"(t), "=m"(*p)
- : "a"(t), "r"(s)
- : "memory");
- return t;
-}
-
-#define a_swap a_swap
-static inline int a_swap(volatile int* p, int v) {
- __asm__ __volatile__("xchg %0, %1" : "=r"(v), "=m"(*p) : "0"(v) : "memory");
- return v;
-}
-
-#define a_fetch_add a_fetch_add
-static inline int a_fetch_add(volatile int* p, int v) {
- __asm__ __volatile__("lock ; xadd %0, %1"
- : "=r"(v), "=m"(*p)
- : "0"(v)
- : "memory");
- return v;
-}
-
-#define a_and a_and
-static inline void a_and(volatile int* p, int v) {
- __asm__ __volatile__("lock ; and %1, %0" : "=m"(*p) : "r"(v) : "memory");
-}
-
-#define a_or a_or
-static inline void a_or(volatile int* p, int v) {
- __asm__ __volatile__("lock ; or %1, %0" : "=m"(*p) : "r"(v) : "memory");
-}
-
-#define a_inc a_inc
-static inline void a_inc(volatile int* p) {
- __asm__ __volatile__("lock ; incl %0" : "=m"(*p) : "m"(*p) : "memory");
-}
-
-#define a_dec a_dec
-static inline void a_dec(volatile int* p) {
- __asm__ __volatile__("lock ; decl %0" : "=m"(*p) : "m"(*p) : "memory");
-}
-
-#define a_store a_store
-static inline void a_store(volatile int* p, int x) {
- __asm__ __volatile__("mov %1, %0 ; lock ; orl $0,(%%esp)"
- : "=m"(*p)
- : "r"(x)
- : "memory");
-}
-
-#define a_barrier a_barrier
-static inline void a_barrier() {
- __asm__ __volatile__("" : : : "memory");
-}
-
-#define a_pause a_pause
-static inline void a_spin() {
- __asm__ __volatile__("pause" : : : "memory");
-}
-
-#define a_crash a_crash
-static inline void a_crash() {
- __asm__ __volatile__("hlt" : : : "memory");
-}
-
-#define a_ctz_64 a_ctz_64
-static inline int a_ctz_64(uint64_t x) {
- int r;
- __asm__("bsf %1,%0 ; jnz 1f ; bsf %2,%0 ; add $32,%0\n1:"
- : "=&r"(r)
- : "r"((unsigned)x), "r"((unsigned)(x >> 32)));
- return r;
-}
-
-#define a_ctz_l a_ctz_l
-static inline int a_ctz_l(unsigned long x) {
- long r;
- __asm__("bsf %1,%0" : "=r"(r) : "r"(x));
- return r;
-}
diff --git a/fusl/arch/i386/bits/alltypes.h.in b/fusl/arch/i386/bits/alltypes.h.in
deleted file mode 100644
index 1a8432d..0000000
--- a/fusl/arch/i386/bits/alltypes.h.in
+++ /dev/null
@@ -1,46 +0,0 @@
-#define _Addr int
-#define _Int64 long long
-#define _Reg int
-
-#if __GNUC__ >= 3
-TYPEDEF __builtin_va_list va_list;
-TYPEDEF __builtin_va_list __isoc_va_list;
-#else
-TYPEDEF struct __va_list * va_list;
-TYPEDEF struct __va_list * __isoc_va_list;
-#endif
-
-#ifndef __cplusplus
-#ifdef __WCHAR_TYPE__
-TYPEDEF __WCHAR_TYPE__ wchar_t;
-#else
-TYPEDEF long wchar_t;
-#endif
-#endif
-
-#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
-TYPEDEF float float_t;
-TYPEDEF double double_t;
-#else
-TYPEDEF long double float_t;
-TYPEDEF long double double_t;
-#endif
-
-#if !defined(__cplusplus)
-TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
-#elif defined(__GNUC__)
-TYPEDEF struct { __attribute__((__aligned__(8))) long long __ll; long double __ld; } max_align_t;
-#else
-TYPEDEF struct { alignas(8) long long __ll; long double __ld; } max_align_t;
-#endif
-
-TYPEDEF long time_t;
-TYPEDEF long suseconds_t;
-
-TYPEDEF struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
-TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-TYPEDEF struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
diff --git a/fusl/arch/i386/bits/endian.h b/fusl/arch/i386/bits/endian.h
deleted file mode 100644
index 172c338..0000000
--- a/fusl/arch/i386/bits/endian.h
+++ /dev/null
@@ -1 +0,0 @@
-#define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/fusl/arch/i386/bits/fenv.h b/fusl/arch/i386/bits/fenv.h
deleted file mode 100644
index 8cf3b13..0000000
--- a/fusl/arch/i386/bits/fenv.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#define FE_INVALID 1
-#define __FE_DENORM 2
-#define FE_DIVBYZERO 4
-#define FE_OVERFLOW 8
-#define FE_UNDERFLOW 16
-#define FE_INEXACT 32
-
-#define FE_ALL_EXCEPT 63
-
-#define FE_TONEAREST 0
-#define FE_DOWNWARD 0x400
-#define FE_UPWARD 0x800
-#define FE_TOWARDZERO 0xc00
-
-typedef unsigned short fexcept_t;
-
-typedef struct {
- unsigned short __control_word;
- unsigned short __unused1;
- unsigned short __status_word;
- unsigned short __unused2;
- unsigned short __tags;
- unsigned short __unused3;
- unsigned int __eip;
- unsigned short __cs_selector;
- unsigned int __opcode : 11;
- unsigned int __unused4 : 5;
- unsigned int __data_offset;
- unsigned short __data_selector;
- unsigned short __unused5;
-} fenv_t;
-
-#define FE_DFL_ENV ((const fenv_t*)-1)
diff --git a/fusl/arch/i386/bits/float.h b/fusl/arch/i386/bits/float.h
deleted file mode 100644
index 55e9fcd..0000000
--- a/fusl/arch/i386/bits/float.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifdef __FLT_EVAL_METHOD__
-#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-#else
-#define FLT_EVAL_METHOD 2
-#endif
-
-#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
-#define LDBL_MIN 3.3621031431120935063e-4932L
-#define LDBL_MAX 1.1897314953572317650e+4932L
-#define LDBL_EPSILON 1.0842021724855044340e-19L
-
-#define LDBL_MANT_DIG 64
-#define LDBL_MIN_EXP (-16381)
-#define LDBL_MAX_EXP 16384
-
-#define LDBL_DIG 18
-#define LDBL_MIN_10_EXP (-4931)
-#define LDBL_MAX_10_EXP 4932
-
-#define DECIMAL_DIG 21
diff --git a/fusl/arch/i386/bits/io.h b/fusl/arch/i386/bits/io.h
deleted file mode 100644
index 1d715d9..0000000
--- a/fusl/arch/i386/bits/io.h
+++ /dev/null
@@ -1,65 +0,0 @@
-static __inline void outb(unsigned char __val, unsigned short __port) {
- __asm__ volatile("outb %0,%1" : : "a"(__val), "dN"(__port));
-}
-
-static __inline void outw(unsigned short __val, unsigned short __port) {
- __asm__ volatile("outw %0,%1" : : "a"(__val), "dN"(__port));
-}
-
-static __inline void outl(unsigned int __val, unsigned short __port) {
- __asm__ volatile("outl %0,%1" : : "a"(__val), "dN"(__port));
-}
-
-static __inline unsigned char inb(unsigned short __port) {
- unsigned char __val;
- __asm__ volatile("inb %1,%0" : "=a"(__val) : "dN"(__port));
- return __val;
-}
-
-static __inline unsigned short inw(unsigned short __port) {
- unsigned short __val;
- __asm__ volatile("inw %1,%0" : "=a"(__val) : "dN"(__port));
- return __val;
-}
-
-static __inline unsigned int inl(unsigned short __port) {
- unsigned int __val;
- __asm__ volatile("inl %1,%0" : "=a"(__val) : "dN"(__port));
- return __val;
-}
-
-static __inline void outsb(unsigned short __port,
- const void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; outsb" : "+S"(__buf), "+c"(__n) : "d"(__port));
-}
-
-static __inline void outsw(unsigned short __port,
- const void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; outsw" : "+S"(__buf), "+c"(__n) : "d"(__port));
-}
-
-static __inline void outsl(unsigned short __port,
- const void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; outsl" : "+S"(__buf), "+c"(__n) : "d"(__port));
-}
-
-static __inline void insb(unsigned short __port,
- void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; insb" : "+D"(__buf), "+c"(__n) : "d"(__port));
-}
-
-static __inline void insw(unsigned short __port,
- void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; insw" : "+D"(__buf), "+c"(__n) : "d"(__port));
-}
-
-static __inline void insl(unsigned short __port,
- void* __buf,
- unsigned long __n) {
- __asm__ volatile("cld; rep; insl" : "+D"(__buf), "+c"(__n) : "d"(__port));
-}
diff --git a/fusl/arch/i386/bits/limits.h b/fusl/arch/i386/bits/limits.h
deleted file mode 100644
index 6d8b298..0000000
--- a/fusl/arch/i386/bits/limits.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define PAGE_SIZE 4096
-#define LONG_BIT 32
-#endif
-
-#define LONG_MAX 0x7fffffffL
-#define LLONG_MAX 0x7fffffffffffffffLL
diff --git a/fusl/arch/i386/bits/mman.h b/fusl/arch/i386/bits/mman.h
deleted file mode 100644
index 09d9d03..0000000
--- a/fusl/arch/i386/bits/mman.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#define MAP_FAILED ((void*)-1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x20
-#define MAP_ANONYMOUS MAP_ANON
-#define MAP_32BIT 0x40
-#define MAP_NORESERVE 0x4000
-#define MAP_GROWSDOWN 0x0100
-#define MAP_DENYWRITE 0x0800
-#define MAP_EXECUTABLE 0x1000
-#define MAP_LOCKED 0x2000
-#define MAP_POPULATE 0x8000
-#define MAP_NONBLOCK 0x10000
-#define MAP_STACK 0x20000
-#define MAP_HUGETLB 0x40000
-
-#define POSIX_MADV_NORMAL 0
-#define POSIX_MADV_RANDOM 1
-#define POSIX_MADV_SEQUENTIAL 2
-#define POSIX_MADV_WILLNEED 3
-#define POSIX_MADV_DONTNEED 0
-
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
-#define MCL_CURRENT 1
-#define MCL_FUTURE 2
-#define MCL_ONFAULT 4
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
-#define MADV_MERGEABLE 12
-#define MADV_UNMERGEABLE 13
-#define MADV_HUGEPAGE 14
-#define MADV_NOHUGEPAGE 15
-#define MADV_DONTDUMP 16
-#define MADV_DODUMP 17
-#define MADV_HWPOISON 100
-#define MADV_SOFT_OFFLINE 101
-#endif
diff --git a/fusl/arch/i386/bits/posix.h b/fusl/arch/i386/bits/posix.h
deleted file mode 100644
index 8897d37..0000000
--- a/fusl/arch/i386/bits/posix.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define _POSIX_V6_ILP32_OFFBIG 1
-#define _POSIX_V7_ILP32_OFFBIG 1
diff --git a/fusl/arch/i386/bits/reg.h b/fusl/arch/i386/bits/reg.h
deleted file mode 100644
index 8bc2582..0000000
--- a/fusl/arch/i386/bits/reg.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#undef __WORDSIZE
-#define __WORDSIZE 32
-#define EBX 0
-#define ECX 1
-#define EDX 2
-#define ESI 3
-#define EDI 4
-#define EBP 5
-#define EAX 6
-#define DS 7
-#define ES 8
-#define FS 9
-#define GS 10
-#define ORIG_EAX 11
-#define EIP 12
-#define CS 13
-#define EFL 14
-#define UESP 15
-#define SS 16
diff --git a/fusl/arch/i386/bits/setjmp.h b/fusl/arch/i386/bits/setjmp.h
deleted file mode 100644
index decd26d..0000000
--- a/fusl/arch/i386/bits/setjmp.h
+++ /dev/null
@@ -1 +0,0 @@
-typedef unsigned long __jmp_buf[6];
diff --git a/fusl/arch/i386/bits/signal.h b/fusl/arch/i386/bits/signal.h
deleted file mode 100644
index 4260b7a..0000000
--- a/fusl/arch/i386/bits/signal.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#ifdef _GNU_SOURCE
-#define REG_GS 0
-#define REG_FS 1
-#define REG_ES 2
-#define REG_DS 3
-#define REG_EDI 4
-#define REG_ESI 5
-#define REG_EBP 6
-#define REG_ESP 7
-#define REG_EBX 8
-#define REG_EDX 9
-#define REG_ECX 10
-#define REG_EAX 11
-#define REG_TRAPNO 12
-#define REG_ERR 13
-#define REG_EIP 14
-#define REG_CS 15
-#define REG_EFL 16
-#define REG_UESP 17
-#define REG_SS 18
-#endif
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-typedef int greg_t, gregset_t[19];
-typedef struct _fpstate {
- unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel;
- struct {
- unsigned short significand[4], exponent;
- } _st[8];
- unsigned long status;
-} * fpregset_t;
-struct sigcontext {
- unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
- unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax;
- unsigned long trapno, err, eip;
- unsigned short cs, __csh;
- unsigned long eflags, esp_at_signal;
- unsigned short ss, __ssh;
- struct _fpstate* fpstate;
- unsigned long oldmask, cr2;
-};
-typedef struct {
- gregset_t gregs;
- fpregset_t fpregs;
- unsigned long oldmask, cr2;
-} mcontext_t;
-#else
-typedef struct { unsigned __space[22]; } mcontext_t;
-#endif
-
-struct sigaltstack {
- void* ss_sp;
- int ss_flags;
- size_t ss_size;
-};
-
-typedef struct __ucontext {
- unsigned long uc_flags;
- struct __ucontext* uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
- unsigned long __fpregs_mem[28];
-} ucontext_t;
-
-#define SA_NOCLDSTOP 1
-#define SA_NOCLDWAIT 2
-#define SA_SIGINFO 4
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-#define SA_RESTORER 0x04000000
-
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT SIGABRT
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL 29
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED SIGSYS
-
-#define _NSIG 65
diff --git a/fusl/arch/i386/bits/stat.h b/fusl/arch/i386/bits/stat.h
deleted file mode 100644
index ab45e4c..0000000
--- a/fusl/arch/i386/bits/stat.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- int __st_rdev_padding;
- off_t st_size;
- blksize_t st_blksize;
- blkcnt_t st_blocks;
- struct timespec st_atim;
- struct timespec st_mtim;
- struct timespec st_ctim;
- ino_t st_ino;
-};
diff --git a/fusl/arch/i386/bits/stdarg.h b/fusl/arch/i386/bits/stdarg.h
deleted file mode 100644
index 6ba75fd..0000000
--- a/fusl/arch/i386/bits/stdarg.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __VA_ALIGNED_SIZE(x) \
- ((sizeof(x) + sizeof(int) - 1) & ~(sizeof(int) - 1))
-
-#define va_start(ap, last) \
- ((ap) = (void*)(((char*)&(last)) + __VA_ALIGNED_SIZE(last)))
-#define va_end(ap) ((void)0)
-#define va_copy(dest, src) ((dest) = (src))
-
-#define va_arg(ap, type) \
- (((ap) = (va_list)((char*)(ap) + __VA_ALIGNED_SIZE(type))), \
- *(type*)(void*)((char*)(ap)-__VA_ALIGNED_SIZE(type)))
diff --git a/fusl/arch/i386/bits/stdint.h b/fusl/arch/i386/bits/stdint.h
deleted file mode 100644
index 93ec5df..0000000
--- a/fusl/arch/i386/bits/stdint.h
+++ /dev/null
@@ -1,20 +0,0 @@
-typedef int32_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef uint32_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-
-#define INT_FAST16_MIN INT32_MIN
-#define INT_FAST32_MIN INT32_MIN
-
-#define INT_FAST16_MAX INT32_MAX
-#define INT_FAST32_MAX INT32_MAX
-
-#define UINT_FAST16_MAX UINT32_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-#define SIZE_MAX UINT32_MAX
diff --git a/fusl/arch/i386/bits/syscall.h b/fusl/arch/i386/bits/syscall.h
deleted file mode 100644
index 9beb802..0000000
--- a/fusl/arch/i386/bits/syscall.h
+++ /dev/null
@@ -1,757 +0,0 @@
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86old 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_vm86 166
-#define __NR_query_module 167
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread64 180
-#define __NR_pwrite64 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_getpmsg 188
-#define __NR_putpmsg 189
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_pivot_root 217
-#define __NR_mincore 218
-#define __NR_madvise 219
-#define __NR_madvise1 219
-#define __NR_getdents64 220
-#define __NR_fcntl64 221
-/* 223 is unused */
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_set_thread_area 243
-#define __NR_get_thread_area 244
-#define __NR_io_setup 245
-#define __NR_io_destroy 246
-#define __NR_io_getevents 247
-#define __NR_io_submit 248
-#define __NR_io_cancel 249
-#define __NR_fadvise64 250
-/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
-#define __NR_exit_group 252
-#define __NR_lookup_dcookie 253
-#define __NR_epoll_create 254
-#define __NR_epoll_ctl 255
-#define __NR_epoll_wait 256
-#define __NR_remap_file_pages 257
-#define __NR_set_tid_address 258
-#define __NR_timer_create 259
-#define __NR_timer_settime (__NR_timer_create + 1)
-#define __NR_timer_gettime (__NR_timer_create + 2)
-#define __NR_timer_getoverrun (__NR_timer_create + 3)
-#define __NR_timer_delete (__NR_timer_create + 4)
-#define __NR_clock_settime (__NR_timer_create + 5)
-#define __NR_clock_gettime (__NR_timer_create + 6)
-#define __NR_clock_getres (__NR_timer_create + 7)
-#define __NR_clock_nanosleep (__NR_timer_create + 8)
-#define __NR_statfs64 268
-#define __NR_fstatfs64 269
-#define __NR_tgkill 270
-#define __NR_utimes 271
-#define __NR_fadvise64_64 272
-#define __NR_vserver 273
-#define __NR_mbind 274
-#define __NR_get_mempolicy 275
-#define __NR_set_mempolicy 276
-#define __NR_mq_open 277
-#define __NR_mq_unlink (__NR_mq_open + 1)
-#define __NR_mq_timedsend (__NR_mq_open + 2)
-#define __NR_mq_timedreceive (__NR_mq_open + 3)
-#define __NR_mq_notify (__NR_mq_open + 4)
-#define __NR_mq_getsetattr (__NR_mq_open + 5)
-#define __NR_kexec_load 283
-#define __NR_waitid 284
-/* #define __NR_sys_setaltroot 285 */
-#define __NR_add_key 286
-#define __NR_request_key 287
-#define __NR_keyctl 288
-#define __NR_ioprio_set 289
-#define __NR_ioprio_get 290
-#define __NR_inotify_init 291
-#define __NR_inotify_add_watch 292
-#define __NR_inotify_rm_watch 293
-#define __NR_migrate_pages 294
-#define __NR_openat 295
-#define __NR_mkdirat 296
-#define __NR_mknodat 297
-#define __NR_fchownat 298
-#define __NR_futimesat 299
-#define __NR_fstatat64 300
-#define __NR_unlinkat 301
-#define __NR_renameat 302
-#define __NR_linkat 303
-#define __NR_symlinkat 304
-#define __NR_readlinkat 305
-#define __NR_fchmodat 306
-#define __NR_faccessat 307
-#define __NR_pselect6 308
-#define __NR_ppoll 309
-#define __NR_unshare 310
-#define __NR_set_robust_list 311
-#define __NR_get_robust_list 312
-#define __NR_splice 313
-#define __NR_sync_file_range 314
-#define __NR_tee 315
-#define __NR_vmsplice 316
-#define __NR_move_pages 317
-#define __NR_getcpu 318
-#define __NR_epoll_pwait 319
-#define __NR_utimensat 320
-#define __NR_signalfd 321
-#define __NR_timerfd_create 322
-#define __NR_eventfd 323
-#define __NR_fallocate 324
-#define __NR_timerfd_settime 325
-#define __NR_timerfd_gettime 326
-#define __NR_signalfd4 327
-#define __NR_eventfd2 328
-#define __NR_epoll_create1 329
-#define __NR_dup3 330
-#define __NR_pipe2 331
-#define __NR_inotify_init1 332
-#define __NR_preadv 333
-#define __NR_pwritev 334
-#define __NR_rt_tgsigqueueinfo 335
-#define __NR_perf_event_open 336
-#define __NR_recvmmsg 337
-#define __NR_fanotify_init 338
-#define __NR_fanotify_mark 339
-#define __NR_prlimit64 340
-#define __NR_name_to_handle_at 341
-#define __NR_open_by_handle_at 342
-#define __NR_clock_adjtime 343
-#define __NR_syncfs 344
-#define __NR_sendmmsg 345
-#define __NR_setns 346
-#define __NR_process_vm_readv 347
-#define __NR_process_vm_writev 348
-#define __NR_kcmp 349
-#define __NR_finit_module 350
-#define __NR_sched_setattr 351
-#define __NR_sched_getattr 352
-#define __NR_renameat2 353
-#define __NR_seccomp 354
-#define __NR_getrandom 355
-#define __NR_memfd_create 356
-#define __NR_bpf 357
-#define __NR_execveat 358
-#define __NR_socket 359
-#define __NR_socketpair 360
-#define __NR_bind 361
-#define __NR_connect 362
-#define __NR_listen 363
-#define __NR_accept4 364
-#define __NR_getsockopt 365
-#define __NR_setsockopt 366
-#define __NR_getsockname 367
-#define __NR_getpeername 368
-#define __NR_sendto 369
-#define __NR_sendmsg 370
-#define __NR_recvfrom 371
-#define __NR_recvmsg 372
-#define __NR_shutdown 373
-#define __NR_userfaultfd 374
-#define __NR_membarrier 375
-#define __NR_mlock2 376
-
-/* Repeated with SYS_ prefix */
-
-#define SYS_restart_syscall 0
-#define SYS_exit 1
-#define SYS_fork 2
-#define SYS_read 3
-#define SYS_write 4
-#define SYS_open 5
-#define SYS_close 6
-#define SYS_waitpid 7
-#define SYS_creat 8
-#define SYS_link 9
-#define SYS_unlink 10
-#define SYS_execve 11
-#define SYS_chdir 12
-#define SYS_time 13
-#define SYS_mknod 14
-#define SYS_chmod 15
-#define SYS_lchown 16
-#define SYS_break 17
-#define SYS_oldstat 18
-#define SYS_lseek 19
-#define SYS_getpid 20
-#define SYS_mount 21
-#define SYS_umount 22
-#define SYS_setuid 23
-#define SYS_getuid 24
-#define SYS_stime 25
-#define SYS_ptrace 26
-#define SYS_alarm 27
-#define SYS_oldfstat 28
-#define SYS_pause 29
-#define SYS_utime 30
-#define SYS_stty 31
-#define SYS_gtty 32
-#define SYS_access 33
-#define SYS_nice 34
-#define SYS_ftime 35
-#define SYS_sync 36
-#define SYS_kill 37
-#define SYS_rename 38
-#define SYS_mkdir 39
-#define SYS_rmdir 40
-#define SYS_dup 41
-#define SYS_pipe 42
-#define SYS_times 43
-#define SYS_prof 44
-#define SYS_brk 45
-#define SYS_setgid 46
-#define SYS_getgid 47
-#define SYS_signal 48
-#define SYS_geteuid 49
-#define SYS_getegid 50
-#define SYS_acct 51
-#define SYS_umount2 52
-#define SYS_lock 53
-#define SYS_ioctl 54
-#define SYS_fcntl 55
-#define SYS_mpx 56
-#define SYS_setpgid 57
-#define SYS_ulimit 58
-#define SYS_oldolduname 59
-#define SYS_umask 60
-#define SYS_chroot 61
-#define SYS_ustat 62
-#define SYS_dup2 63
-#define SYS_getppid 64
-#define SYS_getpgrp 65
-#define SYS_setsid 66
-#define SYS_sigaction 67
-#define SYS_sgetmask 68
-#define SYS_ssetmask 69
-#define SYS_setreuid 70
-#define SYS_setregid 71
-#define SYS_sigsuspend 72
-#define SYS_sigpending 73
-#define SYS_sethostname 74
-#define SYS_setrlimit 75
-#define SYS_getrlimit 76 /* Back compatible 2Gig limited rlimit */
-#define SYS_getrusage 77
-#define SYS_gettimeofday 78
-#define SYS_settimeofday 79
-#define SYS_getgroups 80
-#define SYS_setgroups 81
-#define SYS_select 82
-#define SYS_symlink 83
-#define SYS_oldlstat 84
-#define SYS_readlink 85
-#define SYS_uselib 86
-#define SYS_swapon 87
-#define SYS_reboot 88
-#define SYS_readdir 89
-#define SYS_mmap 90
-#define SYS_munmap 91
-#define SYS_truncate 92
-#define SYS_ftruncate 93
-#define SYS_fchmod 94
-#define SYS_fchown 95
-#define SYS_getpriority 96
-#define SYS_setpriority 97
-#define SYS_profil 98
-#define SYS_statfs 99
-#define SYS_fstatfs 100
-#define SYS_ioperm 101
-#define SYS_socketcall 102
-#define SYS_syslog 103
-#define SYS_setitimer 104
-#define SYS_getitimer 105
-#define SYS_stat 106
-#define SYS_lstat 107
-#define SYS_fstat 108
-#define SYS_olduname 109
-#define SYS_iopl 110
-#define SYS_vhangup 111
-#define SYS_idle 112
-#define SYS_vm86old 113
-#define SYS_wait4 114
-#define SYS_swapoff 115
-#define SYS_sysinfo 116
-#define SYS_ipc 117
-#define SYS_fsync 118
-#define SYS_sigreturn 119
-#define SYS_clone 120
-#define SYS_setdomainname 121
-#define SYS_uname 122
-#define SYS_modify_ldt 123
-#define SYS_adjtimex 124
-#define SYS_mprotect 125
-#define SYS_sigprocmask 126
-#define SYS_create_module 127
-#define SYS_init_module 128
-#define SYS_delete_module 129
-#define SYS_get_kernel_syms 130
-#define SYS_quotactl 131
-#define SYS_getpgid 132
-#define SYS_fchdir 133
-#define SYS_bdflush 134
-#define SYS_sysfs 135
-#define SYS_personality 136
-#define SYS_afs_syscall 137
-#define SYS_setfsuid 138
-#define SYS_setfsgid 139
-#define SYS__llseek 140
-#define SYS_getdents 141
-#define SYS__newselect 142
-#define SYS_flock 143
-#define SYS_msync 144
-#define SYS_readv 145
-#define SYS_writev 146
-#define SYS_getsid 147
-#define SYS_fdatasync 148
-#define SYS__sysctl 149
-#define SYS_mlock 150
-#define SYS_munlock 151
-#define SYS_mlockall 152
-#define SYS_munlockall 153
-#define SYS_sched_setparam 154
-#define SYS_sched_getparam 155
-#define SYS_sched_setscheduler 156
-#define SYS_sched_getscheduler 157
-#define SYS_sched_yield 158
-#define SYS_sched_get_priority_max 159
-#define SYS_sched_get_priority_min 160
-#define SYS_sched_rr_get_interval 161
-#define SYS_nanosleep 162
-#define SYS_mremap 163
-#define SYS_setresuid 164
-#define SYS_getresuid 165
-#define SYS_vm86 166
-#define SYS_query_module 167
-#define SYS_poll 168
-#define SYS_nfsservctl 169
-#define SYS_setresgid 170
-#define SYS_getresgid 171
-#define SYS_prctl 172
-#define SYS_rt_sigreturn 173
-#define SYS_rt_sigaction 174
-#define SYS_rt_sigprocmask 175
-#define SYS_rt_sigpending 176
-#define SYS_rt_sigtimedwait 177
-#define SYS_rt_sigqueueinfo 178
-#define SYS_rt_sigsuspend 179
-#define SYS_pread64 180
-#define SYS_pwrite64 181
-#define SYS_chown 182
-#define SYS_getcwd 183
-#define SYS_capget 184
-#define SYS_capset 185
-#define SYS_sigaltstack 186
-#define SYS_sendfile 187
-#define SYS_getpmsg 188
-#define SYS_putpmsg 189
-#define SYS_vfork 190
-#define SYS_ugetrlimit 191
-#define SYS_mmap2 192
-#define SYS_truncate64 193
-#define SYS_ftruncate64 194
-#define SYS_stat64 195
-#define SYS_lstat64 196
-#define SYS_fstat64 197
-#define SYS_lchown32 198
-#define SYS_getuid32 199
-#define SYS_getgid32 200
-#define SYS_geteuid32 201
-#define SYS_getegid32 202
-#define SYS_setreuid32 203
-#define SYS_setregid32 204
-#define SYS_getgroups32 205
-#define SYS_setgroups32 206
-#define SYS_fchown32 207
-#define SYS_setresuid32 208
-#define SYS_getresuid32 209
-#define SYS_setresgid32 210
-#define SYS_getresgid32 211
-#define SYS_chown32 212
-#define SYS_setuid32 213
-#define SYS_setgid32 214
-#define SYS_setfsuid32 215
-#define SYS_setfsgid32 216
-#define SYS_pivot_root 217
-#define SYS_mincore 218
-#define SYS_madvise 219
-#define SYS_madvise1 219
-#define SYS_getdents64 220
-#define SYS_fcntl64 221
-/* 223 is unused */
-#define SYS_gettid 224
-#define SYS_readahead 225
-#define SYS_setxattr 226
-#define SYS_lsetxattr 227
-#define SYS_fsetxattr 228
-#define SYS_getxattr 229
-#define SYS_lgetxattr 230
-#define SYS_fgetxattr 231
-#define SYS_listxattr 232
-#define SYS_llistxattr 233
-#define SYS_flistxattr 234
-#define SYS_removexattr 235
-#define SYS_lremovexattr 236
-#define SYS_fremovexattr 237
-#define SYS_tkill 238
-#define SYS_sendfile64 239
-#define SYS_futex 240
-#define SYS_sched_setaffinity 241
-#define SYS_sched_getaffinity 242
-#define SYS_set_thread_area 243
-#define SYS_get_thread_area 244
-#define SYS_io_setup 245
-#define SYS_io_destroy 246
-#define SYS_io_getevents 247
-#define SYS_io_submit 248
-#define SYS_io_cancel 249
-#define SYS_fadvise64 250
-/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
-#define SYS_exit_group 252
-#define SYS_lookup_dcookie 253
-#define SYS_epoll_create 254
-#define SYS_epoll_ctl 255
-#define SYS_epoll_wait 256
-#define SYS_remap_file_pages 257
-#define SYS_set_tid_address 258
-#define SYS_timer_create 259
-#define SYS_timer_settime (SYS_timer_create + 1)
-#define SYS_timer_gettime (SYS_timer_create + 2)
-#define SYS_timer_getoverrun (SYS_timer_create + 3)
-#define SYS_timer_delete (SYS_timer_create + 4)
-#define SYS_clock_settime (SYS_timer_create + 5)
-#define SYS_clock_gettime (SYS_timer_create + 6)
-#define SYS_clock_getres (SYS_timer_create + 7)
-#define SYS_clock_nanosleep (SYS_timer_create + 8)
-#define SYS_statfs64 268
-#define SYS_fstatfs64 269
-#define SYS_tgkill 270
-#define SYS_utimes 271
-#define SYS_fadvise64_64 272
-#define SYS_vserver 273
-#define SYS_mbind 274
-#define SYS_get_mempolicy 275
-#define SYS_set_mempolicy 276
-#define SYS_mq_open 277
-#define SYS_mq_unlink (SYS_mq_open + 1)
-#define SYS_mq_timedsend (SYS_mq_open + 2)
-#define SYS_mq_timedreceive (SYS_mq_open + 3)
-#define SYS_mq_notify (SYS_mq_open + 4)
-#define SYS_mq_getsetattr (SYS_mq_open + 5)
-#define SYS_kexec_load 283
-#define SYS_waitid 284
-/* #define SYS_sys_setaltroot 285 */
-#define SYS_add_key 286
-#define SYS_request_key 287
-#define SYS_keyctl 288
-#define SYS_ioprio_set 289
-#define SYS_ioprio_get 290
-#define SYS_inotify_init 291
-#define SYS_inotify_add_watch 292
-#define SYS_inotify_rm_watch 293
-#define SYS_migrate_pages 294
-#define SYS_openat 295
-#define SYS_mkdirat 296
-#define SYS_mknodat 297
-#define SYS_fchownat 298
-#define SYS_futimesat 299
-#define SYS_fstatat64 300
-#define SYS_unlinkat 301
-#define SYS_renameat 302
-#define SYS_linkat 303
-#define SYS_symlinkat 304
-#define SYS_readlinkat 305
-#define SYS_fchmodat 306
-#define SYS_faccessat 307
-#define SYS_pselect6 308
-#define SYS_ppoll 309
-#define SYS_unshare 310
-#define SYS_set_robust_list 311
-#define SYS_get_robust_list 312
-#define SYS_splice 313
-#define SYS_sync_file_range 314
-#define SYS_tee 315
-#define SYS_vmsplice 316
-#define SYS_move_pages 317
-#define SYS_getcpu 318
-#define SYS_epoll_pwait 319
-#define SYS_utimensat 320
-#define SYS_signalfd 321
-#define SYS_timerfd_create 322
-#define SYS_eventfd 323
-#define SYS_fallocate 324
-#define SYS_timerfd_settime 325
-#define SYS_timerfd_gettime 326
-#define SYS_signalfd4 327
-#define SYS_eventfd2 328
-#define SYS_epoll_create1 329
-#define SYS_dup3 330
-#define SYS_pipe2 331
-#define SYS_inotify_init1 332
-#define SYS_preadv 333
-#define SYS_pwritev 334
-#define SYS_rt_tgsigqueueinfo 335
-#define SYS_perf_event_open 336
-#define SYS_recvmmsg 337
-#define SYS_fanotify_init 338
-#define SYS_fanotify_mark 339
-#define SYS_prlimit64 340
-#define SYS_name_to_handle_at 341
-#define SYS_open_by_handle_at 342
-#define SYS_clock_adjtime 343
-#define SYS_syncfs 344
-#define SYS_sendmmsg 345
-#define SYS_setns 346
-#define SYS_process_vm_readv 347
-#define SYS_process_vm_writev 348
-#define SYS_kcmp 349
-#define SYS_finit_module 350
-#define SYS_sched_setattr 351
-#define SYS_sched_getattr 352
-#define SYS_renameat2 353
-#define SYS_seccomp 354
-#define SYS_getrandom 355
-#define SYS_memfd_create 356
-#define SYS_bpf 357
-#define SYS_execveat 358
-#define SYS_socket 359
-#define SYS_socketpair 360
-#define SYS_bind 361
-#define SYS_connect 362
-#define SYS_listen 363
-#define SYS_accept4 364
-#define SYS_getsockopt 365
-#define SYS_setsockopt 366
-#define SYS_getsockname 367
-#define SYS_getpeername 368
-#define SYS_sendto 369
-#define SYS_sendmsg 370
-#define SYS_recvfrom 371
-#define SYS_recvmsg 372
-#define SYS_shutdown 373
-#define SYS_userfaultfd 374
-#define SYS_membarrier 375
-#define SYS_mlock2 376
diff --git a/fusl/arch/i386/bits/user.h b/fusl/arch/i386/bits/user.h
deleted file mode 100644
index 58dbca8..0000000
--- a/fusl/arch/i386/bits/user.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#undef __WORDSIZE
-#define __WORDSIZE 32
-
-typedef struct user_fpregs_struct {
- long cwd, swd, twd, fip, fcs, foo, fos, st_space[20];
-} elf_fpregset_t;
-
-typedef struct user_fpxregs_struct {
- unsigned short cwd, swd, twd, fop;
- long fip, fcs, foo, fos, mxcsr, reserved;
- long st_space[32], xmm_space[32], padding[56];
-} elf_fpxregset_t;
-
-struct user_regs_struct {
- long ebx, ecx, edx, esi, edi, ebp, eax, xds, xes, xfs, xgs;
- long orig_eax, eip, xcs, eflags, esp, xss;
-};
-
-#define ELF_NGREG 17
-typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
-
-struct user {
- struct user_regs_struct regs;
- int u_fpvalid;
- struct user_fpregs_struct i387;
- unsigned long u_tsize;
- unsigned long u_dsize;
- unsigned long u_ssize;
- unsigned long start_code;
- unsigned long start_stack;
- long signal;
- int reserved;
- struct user_regs_struct* u_ar0;
- struct user_fpregs_struct* u_fpstate;
- unsigned long magic;
- char u_comm[32];
- int u_debugreg[8];
-};
-
-#define PAGE_MASK (~(PAGE_SIZE - 1))
-#define NBPG PAGE_SIZE
-#define UPAGES 1
-#define HOST_TEXT_START_ADDR (u.start_code)
-#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
diff --git a/fusl/arch/i386/crt_arch.h b/fusl/arch/i386/crt_arch.h
deleted file mode 100644
index ea5a380..0000000
--- a/fusl/arch/i386/crt_arch.h
+++ /dev/null
@@ -1,15 +0,0 @@
-__asm__(
- ".text\n"
- ".weak _DYNAMIC \n"
- ".hidden _DYNAMIC \n"
- ".global " START "\n" START
- ":\n"
- " xor %ebp,%ebp \n"
- " mov %esp,%eax \n"
- " and $-16,%esp \n"
- " push %eax \n"
- " push %eax \n"
- " call 1f \n"
- "1: addl $_DYNAMIC-1b,(%esp) \n"
- " push %eax \n"
- " call " START "_c \n");
diff --git a/fusl/arch/i386/pthread_arch.h b/fusl/arch/i386/pthread_arch.h
deleted file mode 100644
index 9c10e10..0000000
--- a/fusl/arch/i386/pthread_arch.h
+++ /dev/null
@@ -1,9 +0,0 @@
-static inline struct pthread* __pthread_self() {
- struct pthread* self;
- __asm__ __volatile__("movl %%gs:0,%0" : "=r"(self));
- return self;
-}
-
-#define TP_ADJ(p) (p)
-
-#define MC_PC gregs[REG_EIP]
diff --git a/fusl/arch/i386/reloc.h b/fusl/arch/i386/reloc.h
deleted file mode 100644
index c391636..0000000
--- a/fusl/arch/i386/reloc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#define LDSO_ARCH "i386"
-
-#define REL_SYMBOLIC R_386_32
-#define REL_OFFSET R_386_PC32
-#define REL_GOT R_386_GLOB_DAT
-#define REL_PLT R_386_JMP_SLOT
-#define REL_RELATIVE R_386_RELATIVE
-#define REL_COPY R_386_COPY
-#define REL_DTPMOD R_386_TLS_DTPMOD32
-#define REL_DTPOFF R_386_TLS_DTPOFF32
-#define REL_TPOFF R_386_TLS_TPOFF
-#define REL_TPOFF_NEG R_386_TLS_TPOFF32
-#define REL_TLSDESC R_386_TLS_DESC
-
-#define CRTJMP(pc, sp) \
- __asm__ __volatile__("mov %1,%%esp ; jmp *%0" : : "r"(pc), "r"(sp) : "memor" \
- "y")
-
-#define GETFUNCSYM(fp, sym, got) \
- __asm__(".hidden " #sym \
- "\n" \
- " call 1f\n" \
- "1: addl $" #sym \
- "-.,(%%esp)\n" \
- " pop %0" \
- : "=r"(*fp) \
- : \
- : "memory")
diff --git a/fusl/arch/i386/syscall_arch.h b/fusl/arch/i386/syscall_arch.h
deleted file mode 100644
index 1d5c3a2..0000000
--- a/fusl/arch/i386/syscall_arch.h
+++ /dev/null
@@ -1,89 +0,0 @@
-#define __SYSCALL_LL_E(x) \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[0], \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[1]
-#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
-
-static inline long __syscall0(long n) {
- unsigned long __ret;
- __asm__ __volatile__(".hidden __vsyscall ; call __vsyscall"
- : "=a"(__ret)
- : "a"(n)
- : "memory");
- return __ret;
-}
-
-static inline long __syscall1(long n, long a1) {
- unsigned long __ret;
- __asm__ __volatile__(".hidden __vsyscall ; call __vsyscall"
- : "=a"(__ret)
- : "a"(n), "d"(a1)
- : "memory");
- return __ret;
-}
-
-static inline long __syscall2(long n, long a1, long a2) {
- unsigned long __ret;
- __asm__ __volatile__(".hidden __vsyscall ; call __vsyscall"
- : "=a"(__ret)
- : "a"(n), "d"(a1), "c"(a2)
- : "memory");
- return __ret;
-}
-
-static inline long __syscall3(long n, long a1, long a2, long a3) {
- unsigned long __ret;
- __asm__ __volatile__(".hidden __vsyscall ; call __vsyscall"
- : "=a"(__ret)
- : "a"(n), "d"(a1), "c"(a2), "D"(a3)
- : "memory");
- return __ret;
-}
-
-static inline long __syscall4(long n, long a1, long a2, long a3, long a4) {
- unsigned long __ret;
- __asm__ __volatile__(".hidden __vsyscall ; call __vsyscall"
- : "=a"(__ret)
- : "a"(n), "d"(a1), "c"(a2), "D"(a3), "S"(a4)
- : "memory");
- return __ret;
-}
-
-static inline long __syscall5(long n,
- long a1,
- long a2,
- long a3,
- long a4,
- long a5) {
- unsigned long __ret;
- __asm__ __volatile__(
- "push %6 ; .hidden __vsyscall ; call __vsyscall ; add $4,%%esp"
- : "=a"(__ret)
- : "a"(n), "d"(a1), "c"(a2), "D"(a3), "S"(a4), "g"(a5)
- : "memory");
- return __ret;
-}
-
-static inline long
-__syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6) {
- unsigned long __ret;
- __asm__ __volatile__(
- "push %6 ; .hidden __vsyscall6 ; call __vsyscall6 ; add $4,%%esp"
- : "=a"(__ret)
- : "a"(n), "d"(a1), "c"(a2), "D"(a3), "S"(a4), "g"(0 + (long[]){a5, a6})
- : "memory");
- return __ret;
-}
-
-#define VDSO_USEFUL
-#define VDSO_CGT_SYM "__vdso_clock_gettime"
-#define VDSO_CGT_VER "LINUX_2.6"
-
-#define SYSCALL_USE_SOCKETCALL
diff --git a/fusl/arch/mips/atomic_arch.h b/fusl/arch/mips/atomic_arch.h
deleted file mode 100644
index 52fa3d6..0000000
--- a/fusl/arch/mips/atomic_arch.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#define a_ll a_ll
-static inline int a_ll(volatile int* p) {
- int v;
- __asm__ __volatile__(
- ".set push ; .set mips2\n\t"
- "ll %0, %1"
- "\n\t.set pop"
- : "=r"(v)
- : "m"(*p));
- return v;
-}
-
-#define a_sc a_sc
-static inline int a_sc(volatile int* p, int v) {
- int r;
- __asm__ __volatile__(
- ".set push ; .set mips2\n\t"
- "sc %0, %1"
- "\n\t.set pop"
- : "=r"(r), "=m"(*p)
- : "0"(v)
- : "memory");
- return r;
-}
-
-#define a_barrier a_barrier
-static inline void a_barrier() {
- /* mips2 sync, but using too many directives causes
- * gcc not to inline it, so encode with .long instead. */
- __asm__ __volatile__(".long 0xf" : : : "memory");
-}
-
-#define a_pre_llsc a_barrier
-#define a_post_llsc a_barrier
diff --git a/fusl/arch/mips/bits/alltypes.h.in b/fusl/arch/mips/bits/alltypes.h.in
deleted file mode 100644
index 66ca18a..0000000
--- a/fusl/arch/mips/bits/alltypes.h.in
+++ /dev/null
@@ -1,26 +0,0 @@
-#define _Addr int
-#define _Int64 long long
-#define _Reg int
-
-TYPEDEF __builtin_va_list va_list;
-TYPEDEF __builtin_va_list __isoc_va_list;
-
-#ifndef __cplusplus
-TYPEDEF int wchar_t;
-#endif
-
-TYPEDEF float float_t;
-TYPEDEF double double_t;
-
-TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-
-TYPEDEF long time_t;
-TYPEDEF long suseconds_t;
-
-TYPEDEF struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
-TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-TYPEDEF struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
diff --git a/fusl/arch/mips/bits/endian.h b/fusl/arch/mips/bits/endian.h
deleted file mode 100644
index 5399dcb..0000000
--- a/fusl/arch/mips/bits/endian.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#if _MIPSEL || __MIPSEL || __MIPSEL__
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#else
-#define __BYTE_ORDER __BIG_ENDIAN
-#endif
diff --git a/fusl/arch/mips/bits/errno.h b/fusl/arch/mips/bits/errno.h
deleted file mode 100644
index 40df57b..0000000
--- a/fusl/arch/mips/bits/errno.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#define EPERM 1
-#define ENOENT 2
-#define ESRCH 3
-#define EINTR 4
-#define EIO 5
-#define ENXIO 6
-#define E2BIG 7
-#define ENOEXEC 8
-#define EBADF 9
-#define ECHILD 10
-#define EAGAIN 11
-#define ENOMEM 12
-#define EACCES 13
-#define EFAULT 14
-#define ENOTBLK 15
-#define EBUSY 16
-#define EEXIST 17
-#define EXDEV 18
-#define ENODEV 19
-#define ENOTDIR 20
-#define EISDIR 21
-#define EINVAL 22
-#define ENFILE 23
-#define EMFILE 24
-#define ENOTTY 25
-#define ETXTBSY 26
-#define EFBIG 27
-#define ENOSPC 28
-#define ESPIPE 29
-#define EROFS 30
-#define EMLINK 31
-#define EPIPE 32
-#define EDOM 33
-#define ERANGE 34
-#define ENOMSG 35
-#define EIDRM 36
-#define ECHRNG 37
-#define EL2NSYNC 38
-#define EL3HLT 39
-#define EL3RST 40
-#define ELNRNG 41
-#define EUNATCH 42
-#define ENOCSI 43
-#define EL2HLT 44
-#define EDEADLK 45
-#define ENOLCK 46
-#define EBADE 50
-#define EBADR 51
-#define EXFULL 52
-#define ENOANO 53
-#define EBADRQC 54
-#define EBADSLT 55
-#define EDEADLOCK 56
-#define EBFONT 59
-#define ENOSTR 60
-#define ENODATA 61
-#define ETIME 62
-#define ENOSR 63
-#define ENONET 64
-#define ENOPKG 65
-#define EREMOTE 66
-#define ENOLINK 67
-#define EADV 68
-#define ESRMNT 69
-#define ECOMM 70
-#define EPROTO 71
-#define EDOTDOT 73
-#define EMULTIHOP 74
-#define EBADMSG 77
-#define ENAMETOOLONG 78
-#define EOVERFLOW 79
-#define ENOTUNIQ 80
-#define EBADFD 81
-#define EREMCHG 82
-#define ELIBACC 83
-#define ELIBBAD 84
-#define ELIBSCN 85
-#define ELIBMAX 86
-#define ELIBEXEC 87
-#define EILSEQ 88
-#define ENOSYS 89
-#define ELOOP 90
-#define ERESTART 91
-#define ESTRPIPE 92
-#define ENOTEMPTY 93
-#define EUSERS 94
-#define ENOTSOCK 95
-#define EDESTADDRREQ 96
-#define EMSGSIZE 97
-#define EPROTOTYPE 98
-#define ENOPROTOOPT 99
-#define EPROTONOSUPPORT 120
-#define ESOCKTNOSUPPORT 121
-#define EOPNOTSUPP 122
-#define ENOTSUP EOPNOTSUPP
-#define EPFNOSUPPORT 123
-#define EAFNOSUPPORT 124
-#define EADDRINUSE 125
-#define EADDRNOTAVAIL 126
-#define ENETDOWN 127
-#define ENETUNREACH 128
-#define ENETRESET 129
-#define ECONNABORTED 130
-#define ECONNRESET 131
-#define ENOBUFS 132
-#define EISCONN 133
-#define ENOTCONN 134
-#define EUCLEAN 135
-#define ENOTNAM 137
-#define ENAVAIL 138
-#define EISNAM 139
-#define EREMOTEIO 140
-#define ESHUTDOWN 143
-#define ETOOMANYREFS 144
-#define ETIMEDOUT 145
-#define ECONNREFUSED 146
-#define EHOSTDOWN 147
-#define EHOSTUNREACH 148
-#define EWOULDBLOCK EAGAIN
-#define EALREADY 149
-#define EINPROGRESS 150
-#define ESTALE 151
-#define ECANCELED 158
-#define ENOMEDIUM 159
-#define EMEDIUMTYPE 160
-#define ENOKEY 161
-#define EKEYEXPIRED 162
-#define EKEYREVOKED 163
-#define EKEYREJECTED 164
-#define EOWNERDEAD 165
-#define ENOTRECOVERABLE 166
-#define ERFKILL 167
-#define EHWPOISON 168
-#define EDQUOT 1133
diff --git a/fusl/arch/mips/bits/fcntl.h b/fusl/arch/mips/bits/fcntl.h
deleted file mode 100644
index 36d93c6..0000000
--- a/fusl/arch/mips/bits/fcntl.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#define O_CREAT 0400
-#define O_EXCL 02000
-#define O_NOCTTY 04000
-#define O_TRUNC 01000
-#define O_APPEND 0010
-#define O_NONBLOCK 0200
-#define O_DSYNC 0020
-#define O_SYNC 040020
-#define O_RSYNC 040020
-#define O_DIRECTORY 0200000
-#define O_NOFOLLOW 0400000
-#define O_CLOEXEC 02000000
-
-#define O_ASYNC 010000
-#define O_DIRECT 0100000
-#define O_LARGEFILE 020000
-#define O_NOATIME 01000000
-#define O_PATH 010000000
-#define O_TMPFILE 020200000
-#define O_NDELAY O_NONBLOCK
-
-#define F_DUPFD 0
-#define F_GETFD 1
-#define F_SETFD 2
-#define F_GETFL 3
-#define F_SETFL 4
-
-#define F_SETOWN 24
-#define F_GETOWN 23
-#define F_SETSIG 10
-#define F_GETSIG 11
-
-#define F_GETLK 33
-#define F_SETLK 34
-#define F_SETLKW 35
-
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-
-#define F_GETOWNER_UIDS 17
diff --git a/fusl/arch/mips/bits/fenv.h b/fusl/arch/mips/bits/fenv.h
deleted file mode 100644
index 6f3a93e..0000000
--- a/fusl/arch/mips/bits/fenv.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifdef __mips_soft_float
-#define FE_ALL_EXCEPT 0
-#define FE_TONEAREST 0
-#else
-#define FE_INEXACT 4
-#define FE_UNDERFLOW 8
-#define FE_OVERFLOW 16
-#define FE_DIVBYZERO 32
-#define FE_INVALID 64
-
-#define FE_ALL_EXCEPT 124
-
-#define FE_TONEAREST 0
-#define FE_TOWARDZERO 1
-#define FE_UPWARD 2
-#define FE_DOWNWARD 3
-#endif
-
-typedef unsigned short fexcept_t;
-
-typedef struct { unsigned __cw; } fenv_t;
-
-#define FE_DFL_ENV ((const fenv_t*)-1)
diff --git a/fusl/arch/mips/bits/float.h b/fusl/arch/mips/bits/float.h
deleted file mode 100644
index c4a655e..0000000
--- a/fusl/arch/mips/bits/float.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#define FLT_EVAL_METHOD 0
-
-#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-#define LDBL_MIN 2.22507385850720138309e-308L
-#define LDBL_MAX 1.79769313486231570815e+308L
-#define LDBL_EPSILON 2.22044604925031308085e-16L
-
-#define LDBL_MANT_DIG 53
-#define LDBL_MIN_EXP (-1021)
-#define LDBL_MAX_EXP 1024
-
-#define LDBL_DIG 15
-#define LDBL_MIN_10_EXP (-307)
-#define LDBL_MAX_10_EXP 308
-
-#define DECIMAL_DIG 17
diff --git a/fusl/arch/mips/bits/ioctl.h b/fusl/arch/mips/bits/ioctl.h
deleted file mode 100644
index 666fd0e..0000000
--- a/fusl/arch/mips/bits/ioctl.h
+++ /dev/null
@@ -1,210 +0,0 @@
-#define _IOC(a, b, c, d) (((a) << 29) | ((b) << 8) | (c) | ((d) << 16))
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IO(a, b) _IOC(_IOC_NONE, (a), (b), 0)
-#define _IOW(a, b, c) _IOC(_IOC_WRITE, (a), (b), sizeof(c))
-#define _IOR(a, b, c) _IOC(_IOC_READ, (a), (b), sizeof(c))
-#define _IOWR(a, b, c) _IOC(_IOC_READ | _IOC_WRITE, (a), (b), sizeof(c))
-
-#define TCGETA 0x5401
-#define TCSETA 0x5402
-#define TCSETAW 0x5403
-#define TCSETAF 0x5404
-#define TCSBRK 0x5405
-#define TCXONC 0x5406
-#define TCFLSH 0x5407
-#define TCGETS 0x540D
-#define TCSETS 0x540E
-#define TCSETSW 0x540F
-#define TCSETSF 0x5410
-
-#define TIOCEXCL 0x740D
-#define TIOCNXCL 0x740E
-#define TIOCOUTQ 0x7472
-#define TIOCSTI 0x5472
-#define TIOCMGET 0x741D
-#define TIOCMBIS 0x741B
-#define TIOCMBIC 0x741C
-#define TIOCMSET 0x741D
-
-#define TIOCPKT 0x5470
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define TIOCNOTTY 0x5471
-#define TIOCSETD 0x7401
-#define TIOCGETD 0x7400
-
-#define FIOCLEX 0x6601
-#define FIONCLEX 0x6602
-#define FIOASYNC 0x667D
-#define FIONBIO 0x667E
-#define FIOQSIZE 0x667F
-
-#define TIOCGLTC 0x7474
-#define TIOCSLTC 0x7475
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-#define TIOCCONS _IOW('t', 120, int)
-
-#define FIONREAD 0x467F
-#define TIOCINQ FIONREAD
-
-#define TIOCGETP 0x7408
-#define TIOCSETP 0x7409
-#define TIOCSETN 0x740A
-
-#define TIOCSBRK 0x5427
-#define TIOCCBRK 0x5428
-#define TIOCGSID 0x7416
-#define TIOCGPTN _IOR('T', 0x30, unsigned int)
-#define TIOCSPTLCK _IOW('T', 0x31, int)
-
-#define TIOCSCTTY 0x5480
-#define TIOCGSOFTCAR 0x5481
-#define TIOCSSOFTCAR 0x5482
-#define TIOCLINUX 0x5483
-#define TIOCGSERIAL 0x5484
-#define TIOCSSERIAL 0x5485
-#define TCSBRKP 0x5486
-
-#define TIOCSERCONFIG 0x5488
-#define TIOCSERGWILD 0x5489
-#define TIOCSERSWILD 0x548A
-#define TIOCGLCKTRMIOS 0x548B
-#define TIOCSLCKTRMIOS 0x548C
-#define TIOCSERGSTRUCT 0x548D
-#define TIOCSERGETLSR 0x548E
-#define TIOCSERGETMULTI 0x548F
-#define TIOCSERSETMULTI 0x5490
-#define TIOCMIWAIT 0x5491
-#define TIOCGICOUNT 0x5492
-#define TIOCGHAYESESP 0x5493
-#define TIOCSHAYESESP 0x5494
-
-#define TIOCTTYGSTRUCT 0x5426 // RICH: Not sure about these.
-#define TCGETX 0x5432 // RICH: Not sure about these.
-#define TCSETX 0x5433 // RICH: Not sure about these.
-#define TCSETXF 0x5434 // RICH: Not sure about these.
-#define TCSETXW 0x5435 // RICH: Not sure about these.
-
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-#define TIOCPKT_IOCTL 64
-
-#define TIOCSER_TEMT 0x01
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-#define TIOCM_MODEM_BITS TIOCM_OUT2
-
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6
-#define N_6PACK 7
-#define N_MASC 8
-#define N_R3964 9
-#define N_PROFIBUS_FDL 10
-#define N_IRDA 11
-#define N_SMSBLOCK 12
-#define N_HDLC 13
-#define N_SYNC_PPP 14
-#define N_HCI 15
-
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906
-
-#define SIOCADDRT 0x890B
-#define SIOCDELRT 0x890C
-#define SIOCRTMSG 0x890D
-
-#define SIOCGIFNAME 0x8910
-#define SIOCSIFLINK 0x8911
-#define SIOCGIFCONF 0x8912
-#define SIOCGIFFLAGS 0x8913
-#define SIOCSIFFLAGS 0x8914
-#define SIOCGIFADDR 0x8915
-#define SIOCSIFADDR 0x8916
-#define SIOCGIFDSTADDR 0x8917
-#define SIOCSIFDSTADDR 0x8918
-#define SIOCGIFBRDADDR 0x8919
-#define SIOCSIFBRDADDR 0x891a
-#define SIOCGIFNETMASK 0x891b
-#define SIOCSIFNETMASK 0x891c
-#define SIOCGIFMETRIC 0x891d
-#define SIOCSIFMETRIC 0x891e
-#define SIOCGIFMEM 0x891f
-#define SIOCSIFMEM 0x8920
-#define SIOCGIFMTU 0x8921
-#define SIOCSIFMTU 0x8922
-#define SIOCSIFHWADDR 0x8924
-#define SIOCGIFENCAP 0x8925
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927
-#define SIOCGIFSLAVE 0x8929
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933
-#define SIOGIFINDEX SIOCGIFINDEX
-#define SIOCSIFPFLAGS 0x8934
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936
-#define SIOCSIFHWBROADCAST 0x8937
-#define SIOCGIFCOUNT 0x8938
-
-#define SIOCGIFBR 0x8940
-#define SIOCSIFBR 0x8941
-
-#define SIOCGIFTXQLEN 0x8942
-#define SIOCSIFTXQLEN 0x8943
-
-#define SIOCDARP 0x8953
-#define SIOCGARP 0x8954
-#define SIOCSARP 0x8955
-
-#define SIOCDRARP 0x8960
-#define SIOCGRARP 0x8961
-#define SIOCSRARP 0x8962
-
-#define SIOCGIFMAP 0x8970
-#define SIOCSIFMAP 0x8971
-
-#define SIOCADDDLCI 0x8980
-#define SIOCDELDLCI 0x8981
-
-#define SIOCDEVPRIVATE 0x89F0
-#define SIOCPROTOPRIVATE 0x89E0
diff --git a/fusl/arch/mips/bits/limits.h b/fusl/arch/mips/bits/limits.h
deleted file mode 100644
index f2f7cc4..0000000
--- a/fusl/arch/mips/bits/limits.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define LONG_BIT 32
-#endif
-
-#define LONG_MAX 0x7fffffffL
-#define LLONG_MAX 0x7fffffffffffffffLL
diff --git a/fusl/arch/mips/bits/mman.h b/fusl/arch/mips/bits/mman.h
deleted file mode 100644
index 23fc87e..0000000
--- a/fusl/arch/mips/bits/mman.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#define MAP_FAILED ((void*)-1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x800
-#define MAP_ANONYMOUS MAP_ANON
-#define MAP_NORESERVE 0x0400
-#define MAP_GROWSDOWN 0x1000
-#define MAP_DENYWRITE 0x2000
-#define MAP_EXECUTABLE 0x4000
-#define MAP_LOCKED 0x8000
-#define MAP_POPULATE 0x10000
-#define MAP_NONBLOCK 0x20000
-#define MAP_STACK 0x40000
-#define MAP_HUGETLB 0x80000
-
-#define POSIX_MADV_NORMAL 0
-#define POSIX_MADV_RANDOM 1
-#define POSIX_MADV_SEQUENTIAL 2
-#define POSIX_MADV_WILLNEED 3
-#define POSIX_MADV_DONTNEED 0
-
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
-#define MCL_CURRENT 1
-#define MCL_FUTURE 2
-#define MCL_ONFAULT 4
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
-#define MADV_MERGEABLE 12
-#define MADV_UNMERGEABLE 13
-#define MADV_HUGEPAGE 14
-#define MADV_NOHUGEPAGE 15
-#define MADV_DONTDUMP 16
-#define MADV_DODUMP 17
-#define MADV_HWPOISON 100
-#endif
diff --git a/fusl/arch/mips/bits/msg.h b/fusl/arch/mips/bits/msg.h
deleted file mode 100644
index 84b65c8..0000000
--- a/fusl/arch/mips/bits/msg.h
+++ /dev/null
@@ -1,24 +0,0 @@
-struct msqid_ds {
- struct ipc_perm msg_perm;
-#if _MIPSEL || __MIPSEL || __MIPSEL__
- time_t msg_stime;
- int __unused1;
- time_t msg_rtime;
- int __unused2;
- time_t msg_ctime;
- int __unused3;
-#else
- int __unused1;
- time_t msg_stime;
- int __unused2;
- time_t msg_rtime;
- int __unused3;
- time_t msg_ctime;
-#endif
- unsigned long msg_cbytes;
- msgqnum_t msg_qnum;
- msglen_t msg_qbytes;
- pid_t msg_lspid;
- pid_t msg_lrpid;
- unsigned long __unused[2];
-};
diff --git a/fusl/arch/mips/bits/poll.h b/fusl/arch/mips/bits/poll.h
deleted file mode 100644
index b0b1ed6..0000000
--- a/fusl/arch/mips/bits/poll.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define POLLWRNORM POLLOUT
-#define POLLWRBAND 0x100
diff --git a/fusl/arch/mips/bits/posix.h b/fusl/arch/mips/bits/posix.h
deleted file mode 100644
index 8897d37..0000000
--- a/fusl/arch/mips/bits/posix.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define _POSIX_V6_ILP32_OFFBIG 1
-#define _POSIX_V7_ILP32_OFFBIG 1
diff --git a/fusl/arch/mips/bits/reg.h b/fusl/arch/mips/bits/reg.h
deleted file mode 100644
index 0c37098..0000000
--- a/fusl/arch/mips/bits/reg.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#undef __WORDSIZE
-#define __WORDSIZE 32
-
-#define EF_R0 6
-#define EF_R1 7
-#define EF_R2 8
-#define EF_R3 9
-#define EF_R4 10
-#define EF_R5 11
-#define EF_R6 12
-#define EF_R7 13
-#define EF_R8 14
-#define EF_R9 15
-#define EF_R10 16
-#define EF_R11 17
-#define EF_R12 18
-#define EF_R13 19
-#define EF_R14 20
-#define EF_R15 21
-#define EF_R16 22
-#define EF_R17 23
-#define EF_R18 24
-#define EF_R19 25
-#define EF_R20 26
-#define EF_R21 27
-#define EF_R22 28
-#define EF_R23 29
-#define EF_R24 30
-#define EF_R25 31
-
-#define EF_R26 32
-#define EF_R27 33
-#define EF_R28 34
-#define EF_R29 35
-#define EF_R30 36
-#define EF_R31 37
-
-#define EF_LO 38
-#define EF_HI 39
-
-#define EF_CP0_EPC 40
-#define EF_CP0_BADVADDR 41
-#define EF_CP0_STATUS 42
-#define EF_CP0_CAUSE 43
-#define EF_UNUSED0 44
-
-#define EF_SIZE 180
diff --git a/fusl/arch/mips/bits/resource.h b/fusl/arch/mips/bits/resource.h
deleted file mode 100644
index 3b626ca..0000000
--- a/fusl/arch/mips/bits/resource.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#define RLIMIT_NOFILE 5
-#define RLIMIT_AS 6
-#define RLIMIT_RSS 7
-#define RLIMIT_NPROC 8
-#define RLIMIT_MEMLOCK 9
diff --git a/fusl/arch/mips/bits/sem.h b/fusl/arch/mips/bits/sem.h
deleted file mode 100644
index db4102f..0000000
--- a/fusl/arch/mips/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;
-};
diff --git a/fusl/arch/mips/bits/setjmp.h b/fusl/arch/mips/bits/setjmp.h
deleted file mode 100644
index 30229a0..0000000
--- a/fusl/arch/mips/bits/setjmp.h
+++ /dev/null
@@ -1 +0,0 @@
-typedef unsigned long long __jmp_buf[13];
diff --git a/fusl/arch/mips/bits/shm.h b/fusl/arch/mips/bits/shm.h
deleted file mode 100644
index a3b9dcc..0000000
--- a/fusl/arch/mips/bits/shm.h
+++ /dev/null
@@ -1,24 +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;
-};
diff --git a/fusl/arch/mips/bits/signal.h b/fusl/arch/mips/bits/signal.h
deleted file mode 100644
index 8b5941d..0000000
--- a/fusl/arch/mips/bits/signal.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-typedef unsigned long long greg_t, gregset_t[32];
-typedef struct {
- union {
- double fp_dregs[32];
- struct {
- float _fp_fregs;
- unsigned _fp_pad;
- } fp_fregs[32];
- } fp_r;
-} fpregset_t;
-struct sigcontext {
- unsigned sc_regmask, sc_status;
- unsigned long long sc_pc, sc_regs[32], sc_fpregs[32];
- unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp;
- unsigned long long sc_mdhi, sc_mdlo;
- unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3;
-};
-typedef struct {
- unsigned regmask, status;
- unsigned long long pc, gregs[32], fpregs[32];
- unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp;
- unsigned long long mdhi, mdlo;
- unsigned long hi1, lo1, hi2, lo2, hi3, lo3;
-} mcontext_t;
-#else
-typedef struct {
- unsigned __mc1[2];
- unsigned long long __mc2[65];
- unsigned __mc3[5];
- unsigned long long __mc4[2];
- unsigned __mc5[6];
-} mcontext_t;
-#endif
-
-struct sigaltstack {
- void* ss_sp;
- size_t ss_size;
- int ss_flags;
-};
-
-typedef struct __ucontext {
- unsigned long uc_flags;
- struct __ucontext* uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
-} ucontext_t;
-
-#define SA_NOCLDSTOP 1
-#define SA_NOCLDWAIT 0x10000
-#define SA_SIGINFO 8
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-#define SA_RESTORER 0x04000000
-
-#undef SIG_BLOCK
-#undef SIG_UNBLOCK
-#undef SIG_SETMASK
-#define SIG_BLOCK 1
-#define SIG_UNBLOCK 2
-#define SIG_SETMASK 3
-
-#undef SI_ASYNCIO
-#undef SI_MESGQ
-#undef SI_TIMER
-#define SI_ASYNCIO (-2)
-#define SI_MESGQ (-4)
-#define SI_TIMER (-3)
-
-#define __SI_SWAP_ERRNO_CODE
-
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT SIGABRT
-#define SIGSTKFLT 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGBUS 10
-#define SIGSEGV 11
-#define SIGSYS 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGUSR1 16
-#define SIGUSR2 17
-#define SIGCHLD 18
-#define SIGPWR 19
-#define SIGWINCH 20
-#define SIGURG 21
-#define SIGIO 22
-#define SIGPOLL SIGIO
-#define SIGSTOP 23
-#define SIGTSTP 24
-#define SIGCONT 25
-#define SIGTTIN 26
-#define SIGTTOU 27
-#define SIGVTALRM 28
-#define SIGPROF 29
-#define SIGXCPU 30
-#define SIGXFSZ 31
-#define SIGUNUSED SIGSYS
-
-#define _NSIG 128
diff --git a/fusl/arch/mips/bits/socket.h b/fusl/arch/mips/bits/socket.h
deleted file mode 100644
index b6384eb..0000000
--- a/fusl/arch/mips/bits/socket.h
+++ /dev/null
@@ -1,52 +0,0 @@
-struct msghdr {
- void* msg_name;
- socklen_t msg_namelen;
- struct iovec* msg_iov;
- int msg_iovlen;
- void* msg_control;
- socklen_t msg_controllen;
- int msg_flags;
-};
-
-struct cmsghdr {
- socklen_t cmsg_len;
- int cmsg_level;
- int cmsg_type;
-};
-
-#define SOCK_STREAM 2
-#define SOCK_DGRAM 1
-
-#define SOL_SOCKET 65535
-
-#define SO_DEBUG 1
-
-#define SO_REUSEADDR 0x0004
-#define SO_KEEPALIVE 0x0008
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_LINGER 0x0080
-#define SO_OOBINLINE 0x0100
-#define SO_REUSEPORT 0x0200
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_RCVTIMEO 0x1006
-#define SO_SNDTIMEO 0x1005
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-#define SO_ACCEPTCONN 0x1009
-#define SO_PROTOCOL 0x1028
-#define SO_DOMAIN 0x1029
-
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_BSDCOMPAT 14
-#define SO_PASSCRED 17
-#define SO_PEERCRED 18
-#define SO_SNDBUFFORCE 31
-#define SO_RCVBUFFORCE 33
-
-#define SOCK_NONBLOCK 0200
-#define SOCK_CLOEXEC 02000000
diff --git a/fusl/arch/mips/bits/stat.h b/fusl/arch/mips/bits/stat.h
deleted file mode 100644
index 0260611..0000000
--- a/fusl/arch/mips/bits/stat.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* copied from kernel definition, but with padding replaced
- * by the corresponding correctly-sized userspace types. */
-
-struct stat {
- dev_t st_dev;
- long __st_padding1[2];
- ino_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- long __st_padding2[2];
- off_t st_size;
- struct timespec st_atim;
- struct timespec st_mtim;
- struct timespec st_ctim;
- blksize_t st_blksize;
- long __st_padding3;
- blkcnt_t st_blocks;
- long __st_padding4[14];
-};
diff --git a/fusl/arch/mips/bits/statfs.h b/fusl/arch/mips/bits/statfs.h
deleted file mode 100644
index 6391005..0000000
--- a/fusl/arch/mips/bits/statfs.h
+++ /dev/null
@@ -1,8 +0,0 @@
-struct statfs {
- unsigned long f_type, f_bsize, f_frsize;
- fsblkcnt_t f_blocks, f_bfree;
- fsfilcnt_t f_files, f_ffree;
- fsblkcnt_t f_bavail;
- fsid_t f_fsid;
- unsigned long f_namelen, f_flags, f_spare[5];
-};
diff --git a/fusl/arch/mips/bits/stdint.h b/fusl/arch/mips/bits/stdint.h
deleted file mode 100644
index 93ec5df..0000000
--- a/fusl/arch/mips/bits/stdint.h
+++ /dev/null
@@ -1,20 +0,0 @@
-typedef int32_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef uint32_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-
-#define INT_FAST16_MIN INT32_MIN
-#define INT_FAST32_MIN INT32_MIN
-
-#define INT_FAST16_MAX INT32_MAX
-#define INT_FAST32_MAX INT32_MAX
-
-#define UINT_FAST16_MAX UINT32_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-#define SIZE_MAX UINT32_MAX
diff --git a/fusl/arch/mips/bits/syscall.h b/fusl/arch/mips/bits/syscall.h
deleted file mode 100644
index 0d716b8..0000000
--- a/fusl/arch/mips/bits/syscall.h
+++ /dev/null
@@ -1,720 +0,0 @@
-#define __NR_syscall 4000
-#define __NR_exit 4001
-#define __NR_fork 4002
-#define __NR_read 4003
-#define __NR_write 4004
-#define __NR_open 4005
-#define __NR_close 4006
-#define __NR_waitpid 4007
-#define __NR_creat 4008
-#define __NR_link 4009
-#define __NR_unlink 4010
-#define __NR_execve 4011
-#define __NR_chdir 4012
-#define __NR_time 4013
-#define __NR_mknod 4014
-#define __NR_chmod 4015
-#define __NR_lchown 4016
-#define __NR_break 4017
-#define __NR_unused18 4018
-#define __NR_lseek 4019
-#define __NR_getpid 4020
-#define __NR_mount 4021
-#define __NR_umount 4022
-#define __NR_setuid 4023
-#define __NR_getuid 4024
-#define __NR_stime 4025
-#define __NR_ptrace 4026
-#define __NR_alarm 4027
-#define __NR_unused28 4028
-#define __NR_pause 4029
-#define __NR_utime 4030
-#define __NR_stty 4031
-#define __NR_gtty 4032
-#define __NR_access 4033
-#define __NR_nice 4034
-#define __NR_ftime 4035
-#define __NR_sync 4036
-#define __NR_kill 4037
-#define __NR_rename 4038
-#define __NR_mkdir 4039
-#define __NR_rmdir 4040
-#define __NR_dup 4041
-#define __NR_pipe 4042
-#define __NR_times 4043
-#define __NR_prof 4044
-#define __NR_brk 4045
-#define __NR_setgid 4046
-#define __NR_getgid 4047
-#define __NR_signal 4048
-#define __NR_geteuid 4049
-#define __NR_getegid 4050
-#define __NR_acct 4051
-#define __NR_umount2 4052
-#define __NR_lock 4053
-#define __NR_ioctl 4054
-#define __NR_fcntl 4055
-#define __NR_mpx 4056
-#define __NR_setpgid 4057
-#define __NR_ulimit 4058
-#define __NR_unused59 4059
-#define __NR_umask 4060
-#define __NR_chroot 4061
-#define __NR_ustat 4062
-#define __NR_dup2 4063
-#define __NR_getppid 4064
-#define __NR_getpgrp 4065
-#define __NR_setsid 4066
-#define __NR_sigaction 4067
-#define __NR_sgetmask 4068
-#define __NR_ssetmask 4069
-#define __NR_setreuid 4070
-#define __NR_setregid 4071
-#define __NR_sigsuspend 4072
-#define __NR_sigpending 4073
-#define __NR_sethostname 4074
-#define __NR_setrlimit 4075
-#define __NR_getrlimit 4076
-#define __NR_getrusage 4077
-#define __NR_gettimeofday 4078
-#define __NR_settimeofday 4079
-#define __NR_getgroups 4080
-#define __NR_setgroups 4081
-#define __NR_reserved82 4082
-#define __NR_symlink 4083
-#define __NR_unused84 4084
-#define __NR_readlink 4085
-#define __NR_uselib 4086
-#define __NR_swapon 4087
-#define __NR_reboot 4088
-#define __NR_readdir 4089
-#define __NR_mmap 4090
-#define __NR_munmap 4091
-#define __NR_truncate 4092
-#define __NR_ftruncate 4093
-#define __NR_fchmod 4094
-#define __NR_fchown 4095
-#define __NR_getpriority 4096
-#define __NR_setpriority 4097
-#define __NR_profil 4098
-#define __NR_statfs 4099
-#define __NR_fstatfs 4100
-#define __NR_ioperm 4101
-#define __NR_socketcall 4102
-#define __NR_syslog 4103
-#define __NR_setitimer 4104
-#define __NR_getitimer 4105
-#define __NR_stat 4106
-#define __NR_lstat 4107
-#define __NR_fstat 4108
-#define __NR_unused109 4109
-#define __NR_iopl 4110
-#define __NR_vhangup 4111
-#define __NR_idle 4112
-#define __NR_vm86 4113
-#define __NR_wait4 4114
-#define __NR_swapoff 4115
-#define __NR_sysinfo 4116
-#define __NR_ipc 4117
-#define __NR_fsync 4118
-#define __NR_sigreturn 4119
-#define __NR_clone 4120
-#define __NR_setdomainname 4121
-#define __NR_uname 4122
-#define __NR_modify_ldt 4123
-#define __NR_adjtimex 4124
-#define __NR_mprotect 4125
-#define __NR_sigprocmask 4126
-#define __NR_create_module 4127
-#define __NR_init_module 4128
-#define __NR_delete_module 4129
-#define __NR_get_kernel_syms 4130
-#define __NR_quotactl 4131
-#define __NR_getpgid 4132
-#define __NR_fchdir 4133
-#define __NR_bdflush 4134
-#define __NR_sysfs 4135
-#define __NR_personality 4136
-#define __NR_afs_syscall 4137
-#define __NR_setfsuid 4138
-#define __NR_setfsgid 4139
-#define __NR__llseek 4140
-#define __NR_getdents 4141
-#define __NR_select 4142
-#define __NR_flock 4143
-#define __NR_msync 4144
-#define __NR_readv 4145
-#define __NR_writev 4146
-#define __NR_cacheflush 4147
-#define __NR_cachectl 4148
-#define __NR_sysmips 4149
-#define __NR_unused150 4150
-#define __NR_getsid 4151
-#define __NR_fdatasync 4152
-#define __NR__sysctl 4153
-#define __NR_mlock 4154
-#define __NR_munlock 4155
-#define __NR_mlockall 4156
-#define __NR_munlockall 4157
-#define __NR_sched_setparam 4158
-#define __NR_sched_getparam 4159
-#define __NR_sched_setscheduler 4160
-#define __NR_sched_getscheduler 4161
-#define __NR_sched_yield 4162
-#define __NR_sched_get_priority_max 4163
-#define __NR_sched_get_priority_min 4164
-#define __NR_sched_rr_get_interval 4165
-#define __NR_nanosleep 4166
-#define __NR_mremap 4167
-#define __NR_accept 4168
-#define __NR_bind 4169
-#define __NR_connect 4170
-#define __NR_getpeername 4171
-#define __NR_getsockname 4172
-#define __NR_getsockopt 4173
-#define __NR_listen 4174
-#define __NR_recv 4175
-#define __NR_recvfrom 4176
-#define __NR_recvmsg 4177
-#define __NR_send 4178
-#define __NR_sendmsg 4179
-#define __NR_sendto 4180
-#define __NR_setsockopt 4181
-#define __NR_shutdown 4182
-#define __NR_socket 4183
-#define __NR_socketpair 4184
-#define __NR_setresuid 4185
-#define __NR_getresuid 4186
-#define __NR_query_module 4187
-#define __NR_poll 4188
-#define __NR_nfsservctl 4189
-#define __NR_setresgid 4190
-#define __NR_getresgid 4191
-#define __NR_prctl 4192
-#define __NR_rt_sigreturn 4193
-#define __NR_rt_sigaction 4194
-#define __NR_rt_sigprocmask 4195
-#define __NR_rt_sigpending 4196
-#define __NR_rt_sigtimedwait 4197
-#define __NR_rt_sigqueueinfo 4198
-#define __NR_rt_sigsuspend 4199
-#define __NR_pread 4200
-#define __NR_pwrite 4201
-#define __NR_chown 4202
-#define __NR_getcwd 4203
-#define __NR_capget 4204
-#define __NR_capset 4205
-#define __NR_sigaltstack 4206
-#define __NR_sendfile 4207
-#define __NR_getpmsg 4208
-#define __NR_putpmsg 4209
-#define __NR_mmap2 4210
-#define __NR_truncate64 4211
-#define __NR_ftruncate64 4212
-#define __NR_stat64 4213
-#define __NR_lstat64 4214
-#define __NR_fstat64 4215
-#define __NR_pivot_root 4216
-#define __NR_mincore 4217
-#define __NR_madvise 4218
-#define __NR_getdents64 4219
-#define __NR_fcntl64 4220
-#define __NR_reserved221 4221
-#define __NR_gettid 4222
-#define __NR_readahead 4223
-#define __NR_setxattr 4224
-#define __NR_lsetxattr 4225
-#define __NR_fsetxattr 4226
-#define __NR_getxattr 4227
-#define __NR_lgetxattr 4228
-#define __NR_fgetxattr 4229
-#define __NR_listxattr 4230
-#define __NR_llistxattr 4231
-#define __NR_flistxattr 4232
-#define __NR_removexattr 4233
-#define __NR_lremovexattr 4234
-#define __NR_fremovexattr 4235
-#define __NR_tkill 4236
-#define __NR_sendfile64 4237
-#define __NR_futex 4238
-#define __NR_sched_setaffinity 4239
-#define __NR_sched_getaffinity 4240
-#define __NR_io_setup 4241
-#define __NR_io_destroy 4242
-#define __NR_io_getevents 4243
-#define __NR_io_submit 4244
-#define __NR_io_cancel 4245
-#define __NR_exit_group 4246
-#define __NR_lookup_dcookie 4247
-#define __NR_epoll_create 4248
-#define __NR_epoll_ctl 4249
-#define __NR_epoll_wait 4250
-#define __NR_remap_file_pages 4251
-#define __NR_set_tid_address 4252
-#define __NR_restart_syscall 4253
-#define __NR_fadvise 4254
-#define __NR_statfs64 4255
-#define __NR_fstatfs64 4256
-#define __NR_timer_create 4257
-#define __NR_timer_settime 4258
-#define __NR_timer_gettime 4259
-#define __NR_timer_getoverrun 4260
-#define __NR_timer_delete 4261
-#define __NR_clock_settime 4262
-#define __NR_clock_gettime 4263
-#define __NR_clock_getres 4264
-#define __NR_clock_nanosleep 4265
-#define __NR_tgkill 4266
-#define __NR_utimes 4267
-#define __NR_mbind 4268
-#define __NR_get_mempolicy 4269
-#define __NR_set_mempolicy 4270
-#define __NR_mq_open 4271
-#define __NR_mq_unlink 4272
-#define __NR_mq_timedsend 4273
-#define __NR_mq_timedreceive 4274
-#define __NR_mq_notify 4275
-#define __NR_mq_getsetattr 4276
-#define __NR_vserver 4277
-#define __NR_waitid 4278
-#define __NR_add_key 4280
-#define __NR_request_key 4281
-#define __NR_keyctl 4282
-#define __NR_set_thread_area 4283
-#define __NR_inotify_init 4284
-#define __NR_inotify_add_watch 4285
-#define __NR_inotify_rm_watch 4286
-#define __NR_migrate_pages 4287
-#define __NR_openat 4288
-#define __NR_mkdirat 4289
-#define __NR_mknodat 4290
-#define __NR_fchownat 4291
-#define __NR_futimesat 4292
-#define __NR_fstatat 4293
-#define __NR_unlinkat 4294
-#define __NR_renameat 4295
-#define __NR_linkat 4296
-#define __NR_symlinkat 4297
-#define __NR_readlinkat 4298
-#define __NR_fchmodat 4299
-#define __NR_faccessat 4300
-#define __NR_pselect6 4301
-#define __NR_ppoll 4302
-#define __NR_unshare 4303
-#define __NR_splice 4304
-#define __NR_sync_file_range 4305
-#define __NR_tee 4306
-#define __NR_vmsplice 4307
-#define __NR_move_pages 4308
-#define __NR_set_robust_list 4309
-#define __NR_get_robust_list 4310
-#define __NR_kexec_load 4311
-#define __NR_getcpu 4312
-#define __NR_epoll_pwait 4313
-#define __NR_ioprio_set 4314
-#define __NR_ioprio_get 4315
-#define __NR_utimensat 4316
-#define __NR_signalfd 4317
-#define __NR_timerfd 4318
-#define __NR_eventfd 4319
-#define __NR_fallocate 4320
-#define __NR_timerfd_create 4321
-#define __NR_timerfd_gettime 4322
-#define __NR_timerfd_settime 4323
-#define __NR_signalfd4 4324
-#define __NR_eventfd2 4325
-#define __NR_epoll_create1 4326
-#define __NR_dup3 4327
-#define __NR_pipe2 4328
-#define __NR_inotify_init1 4329
-#define __NR_preadv 4330
-#define __NR_pwritev 4331
-#define __NR_rt_tgsigqueueinfo 4332
-#define __NR_perf_event_open 4333
-#define __NR_accept4 4334
-#define __NR_recvmmsg 4335
-#define __NR_fanotify_init 4336
-#define __NR_fanotify_mark 4337
-#define __NR_prlimit64 4338
-#define __NR_name_to_handle_at 4339
-#define __NR_open_by_handle_at 4340
-#define __NR_clock_adjtime 4341
-#define __NR_syncfs 4342
-#define __NR_sendmmsg 4343
-#define __NR_setns 4344
-#define __NR_process_vm_readv 4345
-#define __NR_process_vm_writev 4346
-#define __NR_kcmp 4347
-#define __NR_finit_module 4348
-#define __NR_sched_setattr 4349
-#define __NR_sched_getattr 4350
-#define __NR_renameat2 4351
-#define __NR_seccomp 4352
-#define __NR_getrandom 4353
-#define __NR_memfd_create 4354
-#define __NR_bpf 4355
-#define __NR_execveat 4356
-#define __NR_userfaultfd 4357
-#define __NR_membarrier 4358
-#define __NR_mlock2 4359
-
-/* Repeated with SYS_ prefix */
-#define SYS_syscall 4000
-#define SYS_exit 4001
-#define SYS_fork 4002
-#define SYS_read 4003
-#define SYS_write 4004
-#define SYS_open 4005
-#define SYS_close 4006
-#define SYS_waitpid 4007
-#define SYS_creat 4008
-#define SYS_link 4009
-#define SYS_unlink 4010
-#define SYS_execve 4011
-#define SYS_chdir 4012
-#define SYS_time 4013
-#define SYS_mknod 4014
-#define SYS_chmod 4015
-#define SYS_lchown 4016
-#define SYS_break 4017
-#define SYS_unused18 4018
-#define SYS_lseek 4019
-#define SYS_getpid 4020
-#define SYS_mount 4021
-#define SYS_umount 4022
-#define SYS_setuid 4023
-#define SYS_getuid 4024
-#define SYS_stime 4025
-#define SYS_ptrace 4026
-#define SYS_alarm 4027
-#define SYS_unused28 4028
-#define SYS_pause 4029
-#define SYS_utime 4030
-#define SYS_stty 4031
-#define SYS_gtty 4032
-#define SYS_access 4033
-#define SYS_nice 4034
-#define SYS_ftime 4035
-#define SYS_sync 4036
-#define SYS_kill 4037
-#define SYS_rename 4038
-#define SYS_mkdir 4039
-#define SYS_rmdir 4040
-#define SYS_dup 4041
-#define SYS_pipe 4042
-#define SYS_times 4043
-#define SYS_prof 4044
-#define SYS_brk 4045
-#define SYS_setgid 4046
-#define SYS_getgid 4047
-#define SYS_signal 4048
-#define SYS_geteuid 4049
-#define SYS_getegid 4050
-#define SYS_acct 4051
-#define SYS_umount2 4052
-#define SYS_lock 4053
-#define SYS_ioctl 4054
-#define SYS_fcntl 4055
-#define SYS_mpx 4056
-#define SYS_setpgid 4057
-#define SYS_ulimit 4058
-#define SYS_unused59 4059
-#define SYS_umask 4060
-#define SYS_chroot 4061
-#define SYS_ustat 4062
-#define SYS_dup2 4063
-#define SYS_getppid 4064
-#define SYS_getpgrp 4065
-#define SYS_setsid 4066
-#define SYS_sigaction 4067
-#define SYS_sgetmask 4068
-#define SYS_ssetmask 4069
-#define SYS_setreuid 4070
-#define SYS_setregid 4071
-#define SYS_sigsuspend 4072
-#define SYS_sigpending 4073
-#define SYS_sethostname 4074
-#define SYS_setrlimit 4075
-#define SYS_getrlimit 4076
-#define SYS_getrusage 4077
-#define SYS_gettimeofday 4078
-#define SYS_settimeofday 4079
-#define SYS_getgroups 4080
-#define SYS_setgroups 4081
-#define SYS_reserved82 4082
-#define SYS_symlink 4083
-#define SYS_unused84 4084
-#define SYS_readlink 4085
-#define SYS_uselib 4086
-#define SYS_swapon 4087
-#define SYS_reboot 4088
-#define SYS_readdir 4089
-#define SYS_mmap 4090
-#define SYS_munmap 4091
-#define SYS_truncate 4092
-#define SYS_ftruncate 4093
-#define SYS_fchmod 4094
-#define SYS_fchown 4095
-#define SYS_getpriority 4096
-#define SYS_setpriority 4097
-#define SYS_profil 4098
-#define SYS_statfs 4099
-#define SYS_fstatfs 4100
-#define SYS_ioperm 4101
-#define SYS_socketcall 4102
-#define SYS_syslog 4103
-#define SYS_setitimer 4104
-#define SYS_getitimer 4105
-#define SYS_stat 4106
-#define SYS_lstat 4107
-#define SYS_fstat 4108
-#define SYS_unused109 4109
-#define SYS_iopl 4110
-#define SYS_vhangup 4111
-#define SYS_idle 4112
-#define SYS_vm86 4113
-#define SYS_wait4 4114
-#define SYS_swapoff 4115
-#define SYS_sysinfo 4116
-#define SYS_ipc 4117
-#define SYS_fsync 4118
-#define SYS_sigreturn 4119
-#define SYS_clone 4120
-#define SYS_setdomainname 4121
-#define SYS_uname 4122
-#define SYS_modify_ldt 4123
-#define SYS_adjtimex 4124
-#define SYS_mprotect 4125
-#define SYS_sigprocmask 4126
-#define SYS_create_module 4127
-#define SYS_init_module 4128
-#define SYS_delete_module 4129
-#define SYS_get_kernel_syms 4130
-#define SYS_quotactl 4131
-#define SYS_getpgid 4132
-#define SYS_fchdir 4133
-#define SYS_bdflush 4134
-#define SYS_sysfs 4135
-#define SYS_personality 4136
-#define SYS_afs_syscall 4137
-#define SYS_setfsuid 4138
-#define SYS_setfsgid 4139
-#define SYS__llseek 4140
-#define SYS_getdents 4141
-#define SYS_select 4142
-#define SYS_flock 4143
-#define SYS_msync 4144
-#define SYS_readv 4145
-#define SYS_writev 4146
-#define SYS_cacheflush 4147
-#define SYS_cachectl 4148
-#define SYS_sysmips 4149
-#define SYS_unused150 4150
-#define SYS_getsid 4151
-#define SYS_fdatasync 4152
-#define SYS__sysctl 4153
-#define SYS_mlock 4154
-#define SYS_munlock 4155
-#define SYS_mlockall 4156
-#define SYS_munlockall 4157
-#define SYS_sched_setparam 4158
-#define SYS_sched_getparam 4159
-#define SYS_sched_setscheduler 4160
-#define SYS_sched_getscheduler 4161
-#define SYS_sched_yield 4162
-#define SYS_sched_get_priority_max 4163
-#define SYS_sched_get_priority_min 4164
-#define SYS_sched_rr_get_interval 4165
-#define SYS_nanosleep 4166
-#define SYS_mremap 4167
-#define SYS_accept 4168
-#define SYS_bind 4169
-#define SYS_connect 4170
-#define SYS_getpeername 4171
-#define SYS_getsockname 4172
-#define SYS_getsockopt 4173
-#define SYS_listen 4174
-#define SYS_recv 4175
-#define SYS_recvfrom 4176
-#define SYS_recvmsg 4177
-#define SYS_send 4178
-#define SYS_sendmsg 4179
-#define SYS_sendto 4180
-#define SYS_setsockopt 4181
-#define SYS_shutdown 4182
-#define SYS_socket 4183
-#define SYS_socketpair 4184
-#define SYS_setresuid 4185
-#define SYS_getresuid 4186
-#define SYS_query_module 4187
-#define SYS_poll 4188
-#define SYS_nfsservctl 4189
-#define SYS_setresgid 4190
-#define SYS_getresgid 4191
-#define SYS_prctl 4192
-#define SYS_rt_sigreturn 4193
-#define SYS_rt_sigaction 4194
-#define SYS_rt_sigprocmask 4195
-#define SYS_rt_sigpending 4196
-#define SYS_rt_sigtimedwait 4197
-#define SYS_rt_sigqueueinfo 4198
-#define SYS_rt_sigsuspend 4199
-#define SYS_pread 4200
-#define SYS_pwrite 4201
-#define SYS_chown 4202
-#define SYS_getcwd 4203
-#define SYS_capget 4204
-#define SYS_capset 4205
-#define SYS_sigaltstack 4206
-#define SYS_sendfile 4207
-#define SYS_getpmsg 4208
-#define SYS_putpmsg 4209
-#define SYS_mmap2 4210
-#define SYS_truncate64 4211
-#define SYS_ftruncate64 4212
-#define SYS_stat64 4213
-#define SYS_lstat64 4214
-#define SYS_fstat64 4215
-#define SYS_pivot_root 4216
-#define SYS_mincore 4217
-#define SYS_madvise 4218
-#define SYS_getdents64 4219
-#define SYS_fcntl64 4220
-#define SYS_reserved221 4221
-#define SYS_gettid 4222
-#define SYS_readahead 4223
-#define SYS_setxattr 4224
-#define SYS_lsetxattr 4225
-#define SYS_fsetxattr 4226
-#define SYS_getxattr 4227
-#define SYS_lgetxattr 4228
-#define SYS_fgetxattr 4229
-#define SYS_listxattr 4230
-#define SYS_llistxattr 4231
-#define SYS_flistxattr 4232
-#define SYS_removexattr 4233
-#define SYS_lremovexattr 4234
-#define SYS_fremovexattr 4235
-#define SYS_tkill 4236
-#define SYS_sendfile64 4237
-#define SYS_futex 4238
-#define SYS_sched_setaffinity 4239
-#define SYS_sched_getaffinity 4240
-#define SYS_io_setup 4241
-#define SYS_io_destroy 4242
-#define SYS_io_getevents 4243
-#define SYS_io_submit 4244
-#define SYS_io_cancel 4245
-#define SYS_exit_group 4246
-#define SYS_lookup_dcookie 4247
-#define SYS_epoll_create 4248
-#define SYS_epoll_ctl 4249
-#define SYS_epoll_wait 4250
-#define SYS_remap_file_pages 4251
-#define SYS_set_tid_address 4252
-#define SYS_restart_syscall 4253
-#define SYS_fadvise 4254
-#define SYS_statfs64 4255
-#define SYS_fstatfs64 4256
-#define SYS_timer_create 4257
-#define SYS_timer_settime 4258
-#define SYS_timer_gettime 4259
-#define SYS_timer_getoverrun 4260
-#define SYS_timer_delete 4261
-#define SYS_clock_settime 4262
-#define SYS_clock_gettime 4263
-#define SYS_clock_getres 4264
-#define SYS_clock_nanosleep 4265
-#define SYS_tgkill 4266
-#define SYS_utimes 4267
-#define SYS_mbind 4268
-#define SYS_get_mempolicy 4269
-#define SYS_set_mempolicy 4270
-#define SYS_mq_open 4271
-#define SYS_mq_unlink 4272
-#define SYS_mq_timedsend 4273
-#define SYS_mq_timedreceive 4274
-#define SYS_mq_notify 4275
-#define SYS_mq_getsetattr 4276
-#define SYS_vserver 4277
-#define SYS_waitid 4278
-#define SYS_add_key 4280
-#define SYS_request_key 4281
-#define SYS_keyctl 4282
-#define SYS_set_thread_area 4283
-#define SYS_inotify_init 4284
-#define SYS_inotify_add_watch 4285
-#define SYS_inotify_rm_watch 4286
-#define SYS_migrate_pages 4287
-#define SYS_openat 4288
-#define SYS_mkdirat 4289
-#define SYS_mknodat 4290
-#define SYS_fchownat 4291
-#define SYS_futimesat 4292
-#define SYS_fstatat 4293
-#define SYS_unlinkat 4294
-#define SYS_renameat 4295
-#define SYS_linkat 4296
-#define SYS_symlinkat 4297
-#define SYS_readlinkat 4298
-#define SYS_fchmodat 4299
-#define SYS_faccessat 4300
-#define SYS_pselect6 4301
-#define SYS_ppoll 4302
-#define SYS_unshare 4303
-#define SYS_splice 4304
-#define SYS_sync_file_range 4305
-#define SYS_tee 4306
-#define SYS_vmsplice 4307
-#define SYS_move_pages 4308
-#define SYS_set_robust_list 4309
-#define SYS_get_robust_list 4310
-#define SYS_kexec_load 4311
-#define SYS_getcpu 4312
-#define SYS_epoll_pwait 4313
-#define SYS_ioprio_set 4314
-#define SYS_ioprio_get 4315
-#define SYS_utimensat 4316
-#define SYS_signalfd 4317
-#define SYS_timerfd 4318
-#define SYS_eventfd 4319
-#define SYS_fallocate 4320
-#define SYS_timerfd_create 4321
-#define SYS_timerfd_gettime 4322
-#define SYS_timerfd_settime 4323
-#define SYS_signalfd4 4324
-#define SYS_eventfd2 4325
-#define SYS_epoll_create1 4326
-#define SYS_dup3 4327
-#define SYS_pipe2 4328
-#define SYS_inotify_init1 4329
-#define SYS_preadv 4330
-#define SYS_pwritev 4331
-#define SYS_rt_tgsigqueueinfo 4332
-#define SYS_perf_event_open 4333
-#define SYS_accept4 4334
-#define SYS_recvmmsg 4335
-#define SYS_fanotify_init 4336
-#define SYS_fanotify_mark 4337
-#define SYS_prlimit64 4338
-#define SYS_name_to_handle_at 4339
-#define SYS_open_by_handle_at 4340
-#define SYS_clock_adjtime 4341
-#define SYS_syncfs 4342
-#define SYS_sendmmsg 4343
-#define SYS_setns 4344
-#define SYS_process_vm_readv 4345
-#define SYS_process_vm_writev 4346
-#define SYS_kcmp 4347
-#define SYS_finit_module 4348
-#define SYS_sched_setattr 4349
-#define SYS_sched_getattr 4350
-#define SYS_renameat2 4351
-#define SYS_seccomp 4352
-#define SYS_getrandom 4353
-#define SYS_memfd_create 4354
-#define SYS_bpf 4355
-#define SYS_execveat 4356
-#define SYS_userfaultfd 4357
-#define SYS_membarrier 4358
-#define SYS_mlock2 4359
diff --git a/fusl/arch/mips/bits/termios.h b/fusl/arch/mips/bits/termios.h
deleted file mode 100644
index 2ca0fac..0000000
--- a/fusl/arch/mips/bits/termios.h
+++ /dev/null
@@ -1,168 +0,0 @@
-struct termios {
- tcflag_t c_iflag;
- tcflag_t c_oflag;
- tcflag_t c_cflag;
- tcflag_t c_lflag;
- cc_t c_line;
- cc_t c_cc[NCCS];
- speed_t __c_ispeed;
- speed_t __c_ospeed;
-};
-
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VMIN 4
-#define VTIME 5
-#define VEOL2 6
-#define VSWTC 7
-#define VSWTCH 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOF 16
-#define VEOL 17
-
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-
-#define B0 0000000
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA 0000016
-#define EXTB 0000017
-
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-
-#define CBAUD 0010017
-
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define IEXTEN 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0020000
-#define PENDIN 0040000
-#define TOSTOP 0100000
-#define ITOSTOP 0100000
-
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define CBAUDEX 0010000
-#define CIBAUD 002003600000
-#define IBSHIFT 16
-#define CMSPAR 010000000000
-#define CRTSCTS 020000000000
-#define EXTPROC 0200000
-#define XTABS 0014000
-#define TIOCSER_TEMT 1
-#endif
diff --git a/fusl/arch/mips/bits/user.h b/fusl/arch/mips/bits/user.h
deleted file mode 100644
index ab2805b..0000000
--- a/fusl/arch/mips/bits/user.h
+++ /dev/null
@@ -1,13 +0,0 @@
-struct user {
- unsigned long regs[45 + 64];
- unsigned long u_tsize, u_dsize, u_ssize;
- unsigned long start_code, start_data, start_stack;
- long signal;
- void* u_ar0;
- unsigned long magic;
- char u_comm[32];
-};
-#define ELF_NGREG 45
-#define ELF_NFPREG 33
-typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
-typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG];
diff --git a/fusl/arch/mips/crt_arch.h b/fusl/arch/mips/crt_arch.h
deleted file mode 100644
index 001c737..0000000
--- a/fusl/arch/mips/crt_arch.h
+++ /dev/null
@@ -1,35 +0,0 @@
-__asm__(
- ".set push\n"
- ".set noreorder\n"
- ".text \n"
- ".global _" START
- "\n"
- ".global " START
- "\n"
- ".type _" START
- ", @function\n"
- ".type " START
- ", @function\n"
- "_" START
- ":\n"
- "" START
- ":\n"
- " bal 1f \n"
- " move $fp, $0 \n"
- " .gpword . \n"
- " .gpword " START
- "_c \n"
- ".weak _DYNAMIC \n"
- ".hidden _DYNAMIC \n"
- " .gpword _DYNAMIC \n"
- "1: lw $gp, 0($ra) \n"
- " subu $gp, $ra, $gp \n"
- " move $4, $sp \n"
- " lw $5, 8($ra) \n"
- " addu $5, $5, $gp \n"
- " lw $25, 4($ra) \n"
- " addu $25, $25, $gp \n"
- " and $sp, $sp, -8 \n"
- " jalr $25 \n"
- " subu $sp, $sp, 16 \n"
- ".set pop \n");
diff --git a/fusl/arch/mips/ksigaction.h b/fusl/arch/mips/ksigaction.h
deleted file mode 100644
index 9170bcf..0000000
--- a/fusl/arch/mips/ksigaction.h
+++ /dev/null
@@ -1,11 +0,0 @@
-struct k_sigaction {
- unsigned flags;
- void (*handler)(int);
- unsigned long mask[4];
- /* The following field is past the end of the structure the
- * kernel will read or write, and exists only to avoid having
- * mips-specific preprocessor conditionals in sigaction.c. */
- void (*restorer)();
-};
-
-void __restore(), __restore_rt();
diff --git a/fusl/arch/mips/pthread_arch.h b/fusl/arch/mips/pthread_arch.h
deleted file mode 100644
index fdd5926..0000000
--- a/fusl/arch/mips/pthread_arch.h
+++ /dev/null
@@ -1,18 +0,0 @@
-static inline struct pthread* __pthread_self() {
-#ifdef __clang__
- char* tp;
- __asm__ __volatile__(".word 0x7c03e83b ; move %0, $3" : "=r"(tp) : : "$3");
-#else
- register char* tp __asm__("$3");
- /* rdhwr $3,$29 */
- __asm__ __volatile__(".word 0x7c03e83b" : "=r"(tp));
-#endif
- return (pthread_t)(tp - 0x7000 - sizeof(struct pthread));
-}
-
-#define TLS_ABOVE_TP
-#define TP_ADJ(p) ((char*)(p) + sizeof(struct pthread) + 0x7000)
-
-#define DTP_OFFSET 0x8000
-
-#define MC_PC pc
diff --git a/fusl/arch/mips/reloc.h b/fusl/arch/mips/reloc.h
deleted file mode 100644
index c29a0b8..0000000
--- a/fusl/arch/mips/reloc.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <endian.h>
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define ENDIAN_SUFFIX "el"
-#else
-#define ENDIAN_SUFFIX ""
-#endif
-
-#ifdef __mips_soft_float
-#define FP_SUFFIX "-sf"
-#else
-#define FP_SUFFIX ""
-#endif
-
-#define LDSO_ARCH "mips" ENDIAN_SUFFIX FP_SUFFIX
-
-#define TPOFF_K (-0x7000)
-
-#define REL_SYM_OR_REL R_MIPS_REL32
-#define REL_PLT R_MIPS_JUMP_SLOT
-#define REL_COPY R_MIPS_COPY
-#define REL_DTPMOD R_MIPS_TLS_DTPMOD32
-#define REL_DTPOFF R_MIPS_TLS_DTPREL32
-#define REL_TPOFF R_MIPS_TLS_TPREL32
-
-#define NEED_MIPS_GOT_RELOCS 1
-#define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP
-#define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT))
-
-#define CRTJMP(pc, sp) \
- __asm__ __volatile__("move $sp,%1 ; jr %0" : : "r"(pc), "r"(sp) : "memory")
-
-#define GETFUNCSYM(fp, sym, got) \
- __asm__(".hidden " #sym \
- "\n" \
- ".set push \n" \
- ".set noreorder \n" \
- " bal 1f \n" \
- " nop \n" \
- " .gpword . \n" \
- " .gpword " #sym \
- " \n" \
- "1: lw %0, ($ra) \n" \
- " subu %0, $ra, %0 \n" \
- " lw $ra, 4($ra) \n" \
- " addu %0, %0, $ra \n" \
- ".set pop \n" \
- : "=r"(*(fp)) \
- : \
- : "memory", "ra")
diff --git a/fusl/arch/mips/syscall_arch.h b/fusl/arch/mips/syscall_arch.h
deleted file mode 100644
index cbea485..0000000
--- a/fusl/arch/mips/syscall_arch.h
+++ /dev/null
@@ -1,178 +0,0 @@
-#define __SYSCALL_LL_E(x) \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[0], \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[1]
-#define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-__attribute__((visibility("hidden"))) long(__syscall)(long, ...);
-
-#define SYSCALL_RLIM_INFINITY (-1UL / 2)
-
-#if _MIPSEL || __MIPSEL || __MIPSEL__
-#define __stat_fix(st) ((st), (void)0)
-#else
-#include <sys/stat.h>
-static inline void __stat_fix(long p) {
- struct stat* st = (struct stat*)p;
- st->st_dev >>= 32;
- st->st_rdev >>= 32;
-}
-#endif
-
-#ifndef __clang__
-
-static inline long __syscall0(long n) {
- register long r7 __asm__("$7");
- register long r2 __asm__("$2");
- __asm__ __volatile__("addu $2,$0,%2 ; syscall"
- : "=&r"(r2), "=r"(r7)
- : "ir"(n), "0"(r2), "1"(r7)
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
- "$14", "$15", "$24", "$25", "hi", "lo", "memory");
- return r7 ? -r2 : r2;
-}
-
-static inline long __syscall1(long n, long a) {
- register long r4 __asm__("$4") = a;
- register long r7 __asm__("$7");
- register long r2 __asm__("$2");
- __asm__ __volatile__("addu $2,$0,%2 ; syscall"
- : "=&r"(r2), "=r"(r7)
- : "ir"(n), "0"(r2), "1"(r7), "r"(r4)
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
- "$14", "$15", "$24", "$25", "hi", "lo", "memory");
- return r7 ? -r2 : r2;
-}
-
-static inline long __syscall2(long n, long a, long b) {
- register long r4 __asm__("$4") = a;
- register long r5 __asm__("$5") = b;
- register long r7 __asm__("$7");
- register long r2 __asm__("$2");
- __asm__ __volatile__("addu $2,$0,%2 ; syscall"
- : "=&r"(r2), "=r"(r7)
- : "ir"(n), "0"(r2), "1"(r7), "r"(r4), "r"(r5)
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
- "$14", "$15", "$24", "$25", "hi", "lo", "memory");
- if (r7)
- return -r2;
- long ret = r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- return ret;
-}
-
-static inline long __syscall3(long n, long a, long b, long c) {
- register long r4 __asm__("$4") = a;
- register long r5 __asm__("$5") = b;
- register long r6 __asm__("$6") = c;
- register long r7 __asm__("$7");
- register long r2 __asm__("$2");
- __asm__ __volatile__("addu $2,$0,%2 ; syscall"
- : "=&r"(r2), "=r"(r7)
- : "ir"(n), "0"(r2), "1"(r7), "r"(r4), "r"(r5), "r"(r6)
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
- "$14", "$15", "$24", "$25", "hi", "lo", "memory");
- if (r7)
- return -r2;
- long ret = r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- return ret;
-}
-
-static inline long __syscall4(long n, long a, long b, long c, long d) {
- register long r4 __asm__("$4") = a;
- register long r5 __asm__("$5") = b;
- register long r6 __asm__("$6") = c;
- register long r7 __asm__("$7") = d;
- register long r2 __asm__("$2");
- __asm__ __volatile__("addu $2,$0,%2 ; syscall"
- : "=&r"(r2), "=r"(r7)
- : "ir"(n), "0"(r2), "1"(r7), "r"(r4), "r"(r5), "r"(r6)
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
- "$14", "$15", "$24", "$25", "hi", "lo", "memory");
- if (r7)
- return -r2;
- long ret = r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- if (n == SYS_fstatat)
- __stat_fix(c);
- return ret;
-}
-
-#else
-
-static inline long __syscall0(long n) {
- return (__syscall)(n);
-}
-
-static inline long __syscall1(long n, long a) {
- return (__syscall)(n, a);
-}
-
-static inline long __syscall2(long n, long a, long b) {
- long r2 = (__syscall)(n, a, b);
- if (r2 > -4096UL)
- return r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- return r2;
-}
-
-static inline long __syscall3(long n, long a, long b, long c) {
- long r2 = (__syscall)(n, a, b, c);
- if (r2 > -4096UL)
- return r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- return r2;
-}
-
-static inline long __syscall4(long n, long a, long b, long c, long d) {
- long r2 = (__syscall)(n, a, b, c, d);
- if (r2 > -4096UL)
- return r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- if (n == SYS_fstatat)
- __stat_fix(c);
- return r2;
-}
-
-#endif
-
-static inline long __syscall5(long n, long a, long b, long c, long d, long e) {
- long r2 = (__syscall)(n, a, b, c, d, e);
- if (r2 > -4096UL)
- return r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- if (n == SYS_fstatat)
- __stat_fix(c);
- return r2;
-}
-
-static inline long
-__syscall6(long n, long a, long b, long c, long d, long e, long f) {
- long r2 = (__syscall)(n, a, b, c, d, e, f);
- if (r2 > -4096UL)
- return r2;
- if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64)
- __stat_fix(b);
- if (n == SYS_fstatat)
- __stat_fix(c);
- return r2;
-}
-
-#define VDSO_USEFUL
-#define VDSO_CGT_SYM "__vdso_clock_gettime"
-#define VDSO_CGT_VER "LINUX_2.6"
diff --git a/fusl/arch/powerpc/atomic_arch.h b/fusl/arch/powerpc/atomic_arch.h
deleted file mode 100644
index d6f4db9..0000000
--- a/fusl/arch/powerpc/atomic_arch.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#define a_ll a_ll
-static inline int a_ll(volatile int* p) {
- int v;
- __asm__ __volatile__("lwarx %0, 0, %2" : "=r"(v) : "m"(*p), "r"(p));
- return v;
-}
-
-#define a_sc a_sc
-static inline int a_sc(volatile int* p, int v) {
- int r;
- __asm__ __volatile__("stwcx. %2, 0, %3 ; mfcr %0"
- : "=r"(r), "=m"(*p)
- : "r"(v), "r"(p)
- : "memory", "cc");
- return r & 0x20000000; /* "bit 2" of "cr0" (backwards bit order) */
-}
-
-#define a_barrier a_barrier
-static inline void a_barrier() {
- __asm__ __volatile__("sync" : : : "memory");
-}
-
-#define a_pre_llsc a_barrier
-
-#define a_post_llsc a_post_llsc
-static inline void a_post_llsc() {
- __asm__ __volatile__("isync" : : : "memory");
-}
-
-#define a_store a_store
-static inline void a_store(volatile int* p, int v) {
- a_pre_llsc();
- *p = v;
- a_post_llsc();
-}
diff --git a/fusl/arch/powerpc/bits/alltypes.h.in b/fusl/arch/powerpc/bits/alltypes.h.in
deleted file mode 100644
index 37f27d6..0000000
--- a/fusl/arch/powerpc/bits/alltypes.h.in
+++ /dev/null
@@ -1,26 +0,0 @@
-#define _Addr int
-#define _Int64 long long
-#define _Reg int
-
-TYPEDEF __builtin_va_list va_list;
-TYPEDEF __builtin_va_list __isoc_va_list;
-
-#ifndef __cplusplus
-TYPEDEF long wchar_t;
-#endif
-
-TYPEDEF float float_t;
-TYPEDEF double double_t;
-
-TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
-
-TYPEDEF long time_t;
-TYPEDEF long suseconds_t;
-
-TYPEDEF struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
-TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
-TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
-TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-TYPEDEF struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
diff --git a/fusl/arch/powerpc/bits/endian.h b/fusl/arch/powerpc/bits/endian.h
deleted file mode 100644
index 7e89899..0000000
--- a/fusl/arch/powerpc/bits/endian.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifdef __BIG_ENDIAN__
-#if __BIG_ENDIAN__
-#define __BYTE_ORDER __BIG_ENDIAN
-#endif
-#endif /* __BIG_ENDIAN__ */
-
-#ifdef __LITTLE_ENDIAN__
-#if __LITTLE_ENDIAN__
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
-#endif /* __LITTLE_ENDIAN__ */
-
-#ifndef __BYTE_ORDER
-#define __BYTE_ORDER __BIG_ENDIAN
-#endif
diff --git a/fusl/arch/powerpc/bits/errno.h b/fusl/arch/powerpc/bits/errno.h
deleted file mode 100644
index 465b07c..0000000
--- a/fusl/arch/powerpc/bits/errno.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#define EPERM 1
-#define ENOENT 2
-#define ESRCH 3
-#define EINTR 4
-#define EIO 5
-#define ENXIO 6
-#define E2BIG 7
-#define ENOEXEC 8
-#define EBADF 9
-#define ECHILD 10
-#define EAGAIN 11
-#define ENOMEM 12
-#define EACCES 13
-#define EFAULT 14
-#define ENOTBLK 15
-#define EBUSY 16
-#define EEXIST 17
-#define EXDEV 18
-#define ENODEV 19
-#define ENOTDIR 20
-#define EISDIR 21
-#define EINVAL 22
-#define ENFILE 23
-#define EMFILE 24
-#define ENOTTY 25
-#define ETXTBSY 26
-#define EFBIG 27
-#define ENOSPC 28
-#define ESPIPE 29
-#define EROFS 30
-#define EMLINK 31
-#define EPIPE 32
-#define EDOM 33
-#define ERANGE 34
-#define EDEADLK 35
-#define ENAMETOOLONG 36
-#define ENOLCK 37
-#define ENOSYS 38
-#define ENOTEMPTY 39
-#define ELOOP 40
-#define EWOULDBLOCK EAGAIN
-#define ENOMSG 42
-#define EIDRM 43
-#define ECHRNG 44
-#define EL2NSYNC 45
-#define EL3HLT 46
-#define EL3RST 47
-#define ELNRNG 48
-#define EUNATCH 49
-#define ENOCSI 50
-#define EL2HLT 51
-#define EBADE 52
-#define EBADR 53
-#define EXFULL 54
-#define ENOANO 55
-#define EBADRQC 56
-#define EBADSLT 57
-#define EDEADLOCK 58
-#define EBFONT 59
-#define ENOSTR 60
-#define ENODATA 61
-#define ETIME 62
-#define ENOSR 63
-#define ENONET 64
-#define ENOPKG 65
-#define EREMOTE 66
-#define ENOLINK 67
-#define EADV 68
-#define ESRMNT 69
-#define ECOMM 70
-#define EPROTO 71
-#define EMULTIHOP 72
-#define EDOTDOT 73
-#define EBADMSG 74
-#define EOVERFLOW 75
-#define ENOTUNIQ 76
-#define EBADFD 77
-#define EREMCHG 78
-#define ELIBACC 79
-#define ELIBBAD 80
-#define ELIBSCN 81
-#define ELIBMAX 82
-#define ELIBEXEC 83
-#define EILSEQ 84
-#define ERESTART 85
-#define ESTRPIPE 86
-#define EUSERS 87
-#define ENOTSOCK 88
-#define EDESTADDRREQ 89
-#define EMSGSIZE 90
-#define EPROTOTYPE 91
-#define ENOPROTOOPT 92
-#define EPROTONOSUPPORT 93
-#define ESOCKTNOSUPPORT 94
-#define EOPNOTSUPP 95
-#define ENOTSUP EOPNOTSUPP
-#define EPFNOSUPPORT 96
-#define EAFNOSUPPORT 97
-#define EADDRINUSE 98
-#define EADDRNOTAVAIL 99
-#define ENETDOWN 100
-#define ENETUNREACH 101
-#define ENETRESET 102
-#define ECONNABORTED 103
-#define ECONNRESET 104
-#define ENOBUFS 105
-#define EISCONN 106
-#define ENOTCONN 107
-#define ESHUTDOWN 108
-#define ETOOMANYREFS 109
-#define ETIMEDOUT 110
-#define ECONNREFUSED 111
-#define EHOSTDOWN 112
-#define EHOSTUNREACH 113
-#define EALREADY 114
-#define EINPROGRESS 115
-#define ESTALE 116
-#define EUCLEAN 117
-#define ENOTNAM 118
-#define ENAVAIL 119
-#define EISNAM 120
-#define EREMOTEIO 121
-#define EDQUOT 122
-#define ENOMEDIUM 123
-#define EMEDIUMTYPE 124
-#define ECANCELED 125
-#define ENOKEY 126
-#define EKEYEXPIRED 127
-#define EKEYREVOKED 128
-#define EKEYREJECTED 129
-#define EOWNERDEAD 130
-#define ENOTRECOVERABLE 131
-#define ERFKILL 132
-#define EHWPOISON 133
diff --git a/fusl/arch/powerpc/bits/fcntl.h b/fusl/arch/powerpc/bits/fcntl.h
deleted file mode 100644
index be9a4f7..0000000
--- a/fusl/arch/powerpc/bits/fcntl.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#define O_CREAT 0100
-#define O_EXCL 0200
-#define O_NOCTTY 0400
-#define O_TRUNC 01000
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_DSYNC 010000
-#define O_SYNC 04010000
-#define O_RSYNC 04010000
-#define O_DIRECTORY 040000
-#define O_NOFOLLOW 0100000
-#define O_CLOEXEC 02000000
-
-#define O_ASYNC 020000
-#define O_DIRECT 0400000
-#define O_LARGEFILE 0200000
-#define O_NOATIME 01000000
-#define O_PATH 010000000
-#define O_TMPFILE 020040000
-#define O_NDELAY O_NONBLOCK
-
-#define F_DUPFD 0
-#define F_GETFD 1
-#define F_SETFD 2
-#define F_GETFL 3
-#define F_SETFL 4
-
-#define F_SETOWN 8
-#define F_GETOWN 9
-#define F_SETSIG 10
-#define F_GETSIG 11
-
-#define F_GETLK 12
-#define F_SETLK 13
-#define F_SETLKW 14
-
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-
-#define F_GETOWNER_UIDS 17
diff --git a/fusl/arch/powerpc/bits/fenv.h b/fusl/arch/powerpc/bits/fenv.h
deleted file mode 100644
index 326f457..0000000
--- a/fusl/arch/powerpc/bits/fenv.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#define FE_TONEAREST 0
-#define FE_TOWARDZERO 1
-#define FE_UPWARD 2
-#define FE_DOWNWARD 3
-
-#define FE_INEXACT 0x02000000
-#define FE_DIVBYZERO 0x04000000
-#define FE_UNDERFLOW 0x08000000
-#define FE_OVERFLOW 0x10000000
-#define FE_INVALID 0x20000000
-
-#define FE_ALL_EXCEPT 0x3e000000
-
-#ifdef _GNU_SOURCE
-#define FE_INVALID_SNAN 0x01000000
-#define FE_INVALID_ISI 0x00800000
-#define FE_INVALID_IDI 0x00400000
-#define FE_INVALID_ZDZ 0x00200000
-#define FE_INVALID_IMZ 0x00100000
-#define FE_INVALID_COMPARE 0x00080000
-#define FE_INVALID_SOFTWARE 0x00000400
-#define FE_INVALID_SQRT 0x00000200
-#define FE_INVALID_INTEGER_CONVERSION 0x00000100
-
-#define FE_ALL_INVALID 0x01f80700
-#endif
-
-typedef unsigned fexcept_t;
-typedef double fenv_t;
-
-#define FE_DFL_ENV ((const fenv_t*)-1)
diff --git a/fusl/arch/powerpc/bits/float.h b/fusl/arch/powerpc/bits/float.h
deleted file mode 100644
index c4a655e..0000000
--- a/fusl/arch/powerpc/bits/float.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#define FLT_EVAL_METHOD 0
-
-#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-#define LDBL_MIN 2.22507385850720138309e-308L
-#define LDBL_MAX 1.79769313486231570815e+308L
-#define LDBL_EPSILON 2.22044604925031308085e-16L
-
-#define LDBL_MANT_DIG 53
-#define LDBL_MIN_EXP (-1021)
-#define LDBL_MAX_EXP 1024
-
-#define LDBL_DIG 15
-#define LDBL_MIN_10_EXP (-307)
-#define LDBL_MAX_10_EXP 308
-
-#define DECIMAL_DIG 17
diff --git a/fusl/arch/powerpc/bits/ioctl.h b/fusl/arch/powerpc/bits/ioctl.h
deleted file mode 100644
index d3ef47e..0000000
--- a/fusl/arch/powerpc/bits/ioctl.h
+++ /dev/null
@@ -1,224 +0,0 @@
-#define _IOC(a, b, c, d) (((a) << 29) | ((b) << 8) | (c) | ((d) << 16))
-#define _IOC_NONE 1U
-#define _IOC_WRITE 4U
-#define _IOC_READ 2U
-
-#define _IO(a, b) _IOC(_IOC_NONE, (a), (b), 0)
-#define _IOW(a, b, c) _IOC(_IOC_WRITE, (a), (b), sizeof(c))
-#define _IOR(a, b, c) _IOC(_IOC_READ, (a), (b), sizeof(c))
-#define _IOWR(a, b, c) _IOC(_IOC_READ | _IOC_WRITE, (a), (b), sizeof(c))
-
-#define FIONCLEX _IO('f', 2)
-#define FIOCLEX _IO('f', 1)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, char[8])
-#define TIOCGETP _IOR('t', 8, char[6])
-#define TIOCSETP _IOW('t', 9, char[6])
-#define TIOCSETN _IOW('t', 10, char[6])
-
-#define TIOCSETC _IOW('t', 17, char[6])
-#define TIOCGETC _IOR('t', 18, char[6])
-#define TCGETS _IOR('t', 19, char[44])
-#define TCSETS _IOW('t', 20, char[44])
-#define TCSETSW _IOW('t', 21, char[44])
-#define TCSETSF _IOW('t', 22, char[44])
-
-#define TCGETA _IOR('t', 23, char[20])
-#define TCSETA _IOW('t', 24, char[20])
-#define TCSETAW _IOW('t', 25, char[20])
-#define TCSETAF _IOW('t', 28, char[20])
-
-#define TCSBRK _IO('t', 29)
-#define TCXONC _IO('t', 30)
-#define TCFLSH _IO('t', 31)
-
-#define TIOCSWINSZ _IOW('t', 103, char[8])
-#define TIOCGWINSZ _IOR('t', 104, char[8])
-#define TIOCSTART _IO('t', 110)
-#define TIOCSTOP _IO('t', 111)
-
-#define TIOCOUTQ _IOR('t', 115, int)
-
-#define TIOCGLTC _IOR('t', 116, char[6])
-#define TIOCSLTC _IOW('t', 117, char[6])
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-
-#define TIOCSTI 0x5412
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-#define TIOCPKT_IOCTL 64
-
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425
-#define TIOCSBRK 0x5427
-#define TIOCCBRK 0x5428
-#define TIOCGSID 0x5429
-#define TIOCGRS485 0x542e
-#define TIOCSRS485 0x542f
-#define TIOCGPTN _IOR('T', 0x30, unsigned int)
-#define TIOCSPTLCK _IOW('T', 0x31, int)
-#define TIOCGDEV _IOR('T', 0x32, unsigned int)
-#define TIOCSIG _IOW('T', 0x36, int)
-#define TIOCVHANGUP 0x5437
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458
-#define TIOCSERGETLSR 0x5459
-#define TIOCSER_TEMT 0x01
-#define TIOCSERGETMULTI 0x545A
-#define TIOCSERSETMULTI 0x545B
-
-#define TIOCMIWAIT 0x545C
-#define TIOCGICOUNT 0x545D
-
-/* end kernel header ioctls.h */
-
-#define TIOCTTYGSTRUCT 0x5426
-
-#define TCGETX 0x5432
-#define TCSETX 0x5433
-#define TCSETXF 0x5434
-#define TCSETXW 0x5435
-
-#define TIOCGHAYESESP 0x545E
-#define TIOCSHAYESESP 0x545F
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define TIOCM_MODEM_BITS TIOCM_OUT2
-
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6
-#define N_6PACK 7
-#define N_MASC 8
-#define N_R3964 9
-#define N_PROFIBUS_FDL 10
-#define N_IRDA 11
-#define N_SMSBLOCK 12
-#define N_HDLC 13
-#define N_SYNC_PPP 14
-#define N_HCI 15
-
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906
-
-#define SIOCADDRT 0x890B
-#define SIOCDELRT 0x890C
-#define SIOCRTMSG 0x890D
-
-#define SIOCGIFNAME 0x8910
-#define SIOCSIFLINK 0x8911
-#define SIOCGIFCONF 0x8912
-#define SIOCGIFFLAGS 0x8913
-#define SIOCSIFFLAGS 0x8914
-#define SIOCGIFADDR 0x8915
-#define SIOCSIFADDR 0x8916
-#define SIOCGIFDSTADDR 0x8917
-#define SIOCSIFDSTADDR 0x8918
-#define SIOCGIFBRDADDR 0x8919
-#define SIOCSIFBRDADDR 0x891a
-#define SIOCGIFNETMASK 0x891b
-#define SIOCSIFNETMASK 0x891c
-#define SIOCGIFMETRIC 0x891d
-#define SIOCSIFMETRIC 0x891e
-#define SIOCGIFMEM 0x891f
-#define SIOCSIFMEM 0x8920
-#define SIOCGIFMTU 0x8921
-#define SIOCSIFMTU 0x8922
-#define SIOCSIFHWADDR 0x8924
-#define SIOCGIFENCAP 0x8925
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927
-#define SIOCGIFSLAVE 0x8929
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933
-#define SIOGIFINDEX SIOCGIFINDEX
-#define SIOCSIFPFLAGS 0x8934
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936
-#define SIOCSIFHWBROADCAST 0x8937
-#define SIOCGIFCOUNT 0x8938
-
-#define SIOCGIFBR 0x8940
-#define SIOCSIFBR 0x8941
-
-#define SIOCGIFTXQLEN 0x8942
-#define SIOCSIFTXQLEN 0x8943
-
-#define SIOCDARP 0x8953
-#define SIOCGARP 0x8954
-#define SIOCSARP 0x8955
-
-#define SIOCDRARP 0x8960
-#define SIOCGRARP 0x8961
-#define SIOCSRARP 0x8962
-
-#define SIOCGIFMAP 0x8970
-#define SIOCSIFMAP 0x8971
-
-#define SIOCADDDLCI 0x8980
-#define SIOCDELDLCI 0x8981
-
-#define SIOCDEVPRIVATE 0x89F0
-#define SIOCPROTOPRIVATE 0x89E0
diff --git a/fusl/arch/powerpc/bits/ipc.h b/fusl/arch/powerpc/bits/ipc.h
deleted file mode 100644
index 49ad617..0000000
--- a/fusl/arch/powerpc/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;
- int __ipc_perm_seq;
- int __pad1;
- long long __pad2;
- long long __pad3;
-};
-
-#define IPC_64 0x100
diff --git a/fusl/arch/powerpc/bits/limits.h b/fusl/arch/powerpc/bits/limits.h
deleted file mode 100644
index f2f7cc4..0000000
--- a/fusl/arch/powerpc/bits/limits.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define LONG_BIT 32
-#endif
-
-#define LONG_MAX 0x7fffffffL
-#define LLONG_MAX 0x7fffffffffffffffLL
diff --git a/fusl/arch/powerpc/bits/mman.h b/fusl/arch/powerpc/bits/mman.h
deleted file mode 100644
index 45d077b..0000000
--- a/fusl/arch/powerpc/bits/mman.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#define MAP_FAILED ((void*)-1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_SAO 0x10
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x20
-#define MAP_ANONYMOUS MAP_ANON
-#define MAP_NORESERVE 0x40
-#define MAP_GROWSDOWN 0x0100
-#define MAP_DENYWRITE 0x0800
-#define MAP_EXECUTABLE 0x1000
-#define MAP_LOCKED 0x80
-#define MAP_POPULATE 0x8000
-#define MAP_NONBLOCK 0x10000
-#define MAP_STACK 0x20000
-#define MAP_HUGETLB 0x40000
-
-#define POSIX_MADV_NORMAL 0
-#define POSIX_MADV_RANDOM 1
-#define POSIX_MADV_SEQUENTIAL 2
-#define POSIX_MADV_WILLNEED 3
-#define POSIX_MADV_DONTNEED 0
-
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
-#define MCL_CURRENT 0x2000
-#define MCL_FUTURE 0x4000
-#define MCL_ONFAULT 0x8000
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
-#define MADV_MERGEABLE 12
-#define MADV_UNMERGEABLE 13
-#define MADV_HUGEPAGE 14
-#define MADV_NOHUGEPAGE 15
-#define MADV_DONTDUMP 16
-#define MADV_DODUMP 17
-#define MADV_HWPOISON 100
-#define MADV_SOFT_OFFLINE 101
-#endif
diff --git a/fusl/arch/powerpc/bits/msg.h b/fusl/arch/powerpc/bits/msg.h
deleted file mode 100644
index b803edc..0000000
--- a/fusl/arch/powerpc/bits/msg.h
+++ /dev/null
@@ -1,15 +0,0 @@
-struct msqid_ds {
- struct ipc_perm msg_perm;
- int __unused1;
- time_t msg_stime;
- int __unused2;
- time_t msg_rtime;
- int __unused3;
- 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];
-};
diff --git a/fusl/arch/powerpc/bits/posix.h b/fusl/arch/powerpc/bits/posix.h
deleted file mode 100644
index 8897d37..0000000
--- a/fusl/arch/powerpc/bits/posix.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define _POSIX_V6_ILP32_OFFBIG 1
-#define _POSIX_V7_ILP32_OFFBIG 1
diff --git a/fusl/arch/powerpc/bits/reg.h b/fusl/arch/powerpc/bits/reg.h
deleted file mode 100644
index 0c7bffc..0000000
--- a/fusl/arch/powerpc/bits/reg.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#undef __WORDSIZE
-#define __WORDSIZE 32
-/* FIXME */
diff --git a/fusl/arch/powerpc/bits/sem.h b/fusl/arch/powerpc/bits/sem.h
deleted file mode 100644
index 3f02040..0000000
--- a/fusl/arch/powerpc/bits/sem.h
+++ /dev/null
@@ -1,10 +0,0 @@
-struct semid_ds {
- struct ipc_perm sem_perm;
- int __unused1;
- time_t sem_otime;
- int __unused2;
- time_t sem_ctime;
- unsigned short __sem_nsems_pad, sem_nsems;
- long __unused3;
- long __unused4;
-};
diff --git a/fusl/arch/powerpc/bits/setjmp.h b/fusl/arch/powerpc/bits/setjmp.h
deleted file mode 100644
index 1cb0f26..0000000
--- a/fusl/arch/powerpc/bits/setjmp.h
+++ /dev/null
@@ -1 +0,0 @@
-typedef unsigned long long __jmp_buf[56];
diff --git a/fusl/arch/powerpc/bits/shm.h b/fusl/arch/powerpc/bits/shm.h
deleted file mode 100644
index 3c2f96d..0000000
--- a/fusl/arch/powerpc/bits/shm.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#define SHMLBA 4096
-
-struct shmid_ds {
- struct ipc_perm shm_perm;
- int __unused1;
- time_t shm_atime;
- int __unused2;
- time_t shm_dtime;
- int __unused3;
- time_t shm_ctime;
- int __unused4;
- size_t shm_segsz;
- 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;
-};
diff --git a/fusl/arch/powerpc/bits/signal.h b/fusl/arch/powerpc/bits/signal.h
deleted file mode 100644
index 11a2e9b..0000000
--- a/fusl/arch/powerpc/bits/signal.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || \
- defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MINSIGSTKSZ 4096
-#define SIGSTKSZ 10240
-#endif
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-
-typedef unsigned long greg_t, gregset_t[48];
-
-typedef struct {
- double fpregs[32];
- double fpscr;
- unsigned _pad[2];
-} fpregset_t;
-
-typedef struct {
- unsigned vrregs[32][4];
- unsigned vrsave;
- unsigned _pad[2];
- unsigned vscr;
-} vrregset_t;
-
-struct sigcontext {
- unsigned long _unused[4];
- int signal;
- unsigned long handler;
- unsigned long oldmask;
- void* regs;
-};
-
-typedef struct {
- gregset_t gregs;
- fpregset_t fpregs;
- vrregset_t vrregs
-#ifdef __GNUC__
- __attribute__((__aligned__(16)))
-#endif
- ;
-} mcontext_t;
-
-#else
-
-typedef struct {
- long __regs[48 + 68 + 4 * 32 + 4]
-#ifdef __GNUC__
- __attribute__((__aligned__(16)))
-#endif
- ;
-} mcontext_t;
-
-#endif
-
-struct sigaltstack {
- void* ss_sp;
- int ss_flags;
- size_t ss_size;
-};
-
-typedef struct __ucontext {
- unsigned long uc_flags;
- struct __ucontext* uc_link;
- stack_t uc_stack;
- int uc_pad[7];
- mcontext_t* uc_regs;
- sigset_t uc_sigmask;
- int uc_pad2[3];
- mcontext_t uc_mcontext;
-} ucontext_t;
-
-#define SA_NOCLDSTOP 1U
-#define SA_NOCLDWAIT 2U
-#define SA_SIGINFO 4U
-#define SA_ONSTACK 0x08000000U
-#define SA_RESTART 0x10000000U
-#define SA_NODEFER 0x40000000U
-#define SA_RESETHAND 0x80000000U
-#define SA_RESTORER 0x04000000U
-
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT SIGABRT
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL 29
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED SIGSYS
-
-#define _NSIG 65
diff --git a/fusl/arch/powerpc/bits/socket.h b/fusl/arch/powerpc/bits/socket.h
deleted file mode 100644
index 9b07159..0000000
--- a/fusl/arch/powerpc/bits/socket.h
+++ /dev/null
@@ -1,42 +0,0 @@
-struct msghdr {
- void* msg_name;
- socklen_t msg_namelen;
- struct iovec* msg_iov;
- int msg_iovlen;
- void* msg_control;
- socklen_t msg_controllen;
- int msg_flags;
-};
-
-struct cmsghdr {
- socklen_t cmsg_len;
- int cmsg_level;
- int cmsg_type;
-};
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-#define SO_REUSEPORT 15
-#define SO_RCVLOWAT 16
-#define SO_SNDLOWAT 17
-#define SO_RCVTIMEO 18
-#define SO_SNDTIMEO 19
-#define SO_PASSCRED 20
-#define SO_PEERCRED 21
-#define SO_ACCEPTCONN 30
-#define SO_SNDBUFFORCE 32
-#define SO_RCVBUFFORCE 33
-#define SO_PROTOCOL 38
-#define SO_DOMAIN 39
diff --git a/fusl/arch/powerpc/bits/stat.h b/fusl/arch/powerpc/bits/stat.h
deleted file mode 100644
index 01abe4f..0000000
--- a/fusl/arch/powerpc/bits/stat.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* 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;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- short __st_rdev_padding;
- off_t st_size;
- blksize_t st_blksize;
- blkcnt_t st_blocks;
- struct timespec st_atim;
- struct timespec st_mtim;
- struct timespec st_ctim;
- unsigned __unused[2];
-};
diff --git a/fusl/arch/powerpc/bits/stdint.h b/fusl/arch/powerpc/bits/stdint.h
deleted file mode 100644
index 93ec5df..0000000
--- a/fusl/arch/powerpc/bits/stdint.h
+++ /dev/null
@@ -1,20 +0,0 @@
-typedef int32_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef uint32_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-
-#define INT_FAST16_MIN INT32_MIN
-#define INT_FAST32_MIN INT32_MIN
-
-#define INT_FAST16_MAX INT32_MAX
-#define INT_FAST32_MAX INT32_MAX
-
-#define UINT_FAST16_MAX UINT32_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-#define SIZE_MAX UINT32_MAX
diff --git a/fusl/arch/powerpc/bits/syscall.h b/fusl/arch/powerpc/bits/syscall.h
deleted file mode 100644
index 583f493..0000000
--- a/fusl/arch/powerpc/bits/syscall.h
+++ /dev/null
@@ -1,744 +0,0 @@
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid32 164
-#define __NR_setresuid 164
-#define __NR_getresuid32 165
-#define __NR_getresuid 165
-#define __NR_query_module 166
-#define __NR_poll 167
-#define __NR_nfsservctl 168
-#define __NR_setresgid32 169
-#define __NR_setresgid 169
-#define __NR_getresgid32 170
-#define __NR_getresgid 170
-#define __NR_prctl 171
-#define __NR_rt_sigreturn 172
-#define __NR_rt_sigaction 173
-#define __NR_rt_sigprocmask 174
-#define __NR_rt_sigpending 175
-#define __NR_rt_sigtimedwait 176
-#define __NR_rt_sigqueueinfo 177
-#define __NR_rt_sigsuspend 178
-#define __NR_pread64 179
-#define __NR_pwrite64 180
-#define __NR_chown 181
-#define __NR_getcwd 182
-#define __NR_capget 183
-#define __NR_capset 184
-#define __NR_sigaltstack 185
-#define __NR_sendfile 186
-#define __NR_getpmsg 187
-#define __NR_putpmsg 188
-#define __NR_vfork 189
-#define __NR_ugetrlimit 190
-#define __NR_readahead 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_pciconfig_read 198
-#define __NR_pciconfig_write 199
-#define __NR_pciconfig_iobase 200
-#define __NR_multiplexer 201
-#define __NR_getdents64 202
-#define __NR_pivot_root 203
-#define __NR_fcntl64 204
-#define __NR_madvise 205
-#define __NR_mincore 206
-#define __NR_gettid 207
-#define __NR_tkill 208
-#define __NR_setxattr 209
-#define __NR_lsetxattr 210
-#define __NR_fsetxattr 211
-#define __NR_getxattr 212
-#define __NR_lgetxattr 213
-#define __NR_fgetxattr 214
-#define __NR_listxattr 215
-#define __NR_llistxattr 216
-#define __NR_flistxattr 217
-#define __NR_removexattr 218
-#define __NR_lremovexattr 219
-#define __NR_fremovexattr 220
-#define __NR_futex 221
-#define __NR_sched_setaffinity 222
-#define __NR_sched_getaffinity 223
-#define __NR_tuxcall 225
-#define __NR_sendfile64 226
-#define __NR_io_setup 227
-#define __NR_io_destroy 228
-#define __NR_io_getevents 229
-#define __NR_io_submit 230
-#define __NR_io_cancel 231
-#define __NR_set_tid_address 232
-#define __NR_fadvise64 233
-#define __NR_exit_group 234
-#define __NR_lookup_dcookie 235
-#define __NR_epoll_create 236
-#define __NR_epoll_ctl 237
-#define __NR_epoll_wait 238
-#define __NR_remap_file_pages 239
-#define __NR_timer_create 240
-#define __NR_timer_settime 241
-#define __NR_timer_gettime 242
-#define __NR_timer_getoverrun 243
-#define __NR_timer_delete 244
-#define __NR_clock_settime 245
-#define __NR_clock_gettime 246
-#define __NR_clock_getres 247
-#define __NR_clock_nanosleep 248
-#define __NR_swapcontext 249
-#define __NR_tgkill 250
-#define __NR_utimes 251
-#define __NR_statfs64 252
-#define __NR_fstatfs64 253
-#define __NR_fadvise64_64 254
-#define __NR_rtas 255
-#define __NR_sys_debug_setcontext 256
-#define __NR_migrate_pages 258
-#define __NR_mbind 259
-#define __NR_get_mempolicy 260
-#define __NR_set_mempolicy 261
-#define __NR_mq_open 262
-#define __NR_mq_unlink 263
-#define __NR_mq_timedsend 264
-#define __NR_mq_timedreceive 265
-#define __NR_mq_notify 266
-#define __NR_mq_getsetattr 267
-#define __NR_kexec_load 268
-#define __NR_add_key 269
-#define __NR_request_key 270
-#define __NR_keyctl 271
-#define __NR_waitid 272
-#define __NR_ioprio_set 273
-#define __NR_ioprio_get 274
-#define __NR_inotify_init 275
-#define __NR_inotify_add_watch 276
-#define __NR_inotify_rm_watch 277
-#define __NR_spu_run 278
-#define __NR_spu_create 279
-#define __NR_pselect6 280
-#define __NR_ppoll 281
-#define __NR_unshare 282
-#define __NR_splice 283
-#define __NR_tee 284
-#define __NR_vmsplice 285
-#define __NR_openat 286
-#define __NR_mkdirat 287
-#define __NR_mknodat 288
-#define __NR_fchownat 289
-#define __NR_futimesat 290
-#define __NR_fstatat64 291
-#define __NR_unlinkat 292
-#define __NR_renameat 293
-#define __NR_linkat 294
-#define __NR_symlinkat 295
-#define __NR_readlinkat 296
-#define __NR_fchmodat 297
-#define __NR_faccessat 298
-#define __NR_get_robust_list 299
-#define __NR_set_robust_list 300
-#define __NR_move_pages 301
-#define __NR_getcpu 302
-#define __NR_epoll_pwait 303
-#define __NR_utimensat 304
-#define __NR_signalfd 305
-#define __NR_timerfd 306
-#define __NR_timerfd_create 306
-#define __NR_eventfd 307
-#define __NR_sync_file_range2 308
-#define __NR_fallocate 309
-#define __NR_subpage_prot 310
-#define __NR_timerfd_settime 311
-#define __NR_timerfd_gettime 312
-#define __NR_signalfd4 313
-#define __NR_eventfd2 314
-#define __NR_epoll_create1 315
-#define __NR_dup3 316
-#define __NR_pipe2 317
-#define __NR_inotify_init1 318
-#define __NR_perf_event_open 319
-#define __NR_preadv 320
-#define __NR_pwritev 321
-#define __NR_rt_tgsigqueueinfo 322
-#define __NR_fanotify_init 323
-#define __NR_fanotify_mark 324
-#define __NR_prlimit64 325
-#define __NR_socket 326
-#define __NR_bind 327
-#define __NR_connect 328
-#define __NR_listen 329
-#define __NR_accept 330
-#define __NR_getsockname 331
-#define __NR_getpeername 332
-#define __NR_socketpair 333
-#define __NR_send 334
-#define __NR_sendto 335
-#define __NR_recv 336
-#define __NR_recvfrom 337
-#define __NR_shutdown 338
-#define __NR_setsockopt 339
-#define __NR_getsockopt 340
-#define __NR_sendmsg 341
-#define __NR_recvmsg 342
-#define __NR_recvmmsg 343
-#define __NR_accept4 344
-#define __NR_name_to_handle_at 345
-#define __NR_open_by_handle_at 346
-#define __NR_clock_adjtime 347
-#define __NR_syncfs 348
-#define __NR_sendmmsg 349
-#define __NR_setns 350
-#define __NR_process_vm_readv 351
-#define __NR_process_vm_writev 352
-#define __NR_finit_module 353
-#define __NR_kcmp 354
-#define __NR_sched_setattr 355
-#define __NR_sched_getattr 356
-#define __NR_renameat2 357
-#define __NR_seccomp 358
-#define __NR_getrandom 359
-#define __NR_memfd_create 360
-#define __NR_bpf 361
-#define __NR_execveat 362
-#define __NR_switch_endian 363
-#define __NR_userfaultfd 364
-#define __NR_membarrier 365
-#define __NR_mlock2 378
-
-/*
- * repeated with SYS prefix
- */
-#define SYS_restart_syscall 0
-#define SYS_exit 1
-#define SYS_fork 2
-#define SYS_read 3
-#define SYS_write 4
-#define SYS_open 5
-#define SYS_close 6
-#define SYS_waitpid 7
-#define SYS_creat 8
-#define SYS_link 9
-#define SYS_unlink 10
-#define SYS_execve 11
-#define SYS_chdir 12
-#define SYS_time 13
-#define SYS_mknod 14
-#define SYS_chmod 15
-#define SYS_lchown 16
-#define SYS_break 17
-#define SYS_oldstat 18
-#define SYS_lseek 19
-#define SYS_getpid 20
-#define SYS_mount 21
-#define SYS_umount 22
-#define SYS_setuid 23
-#define SYS_getuid 24
-#define SYS_stime 25
-#define SYS_ptrace 26
-#define SYS_alarm 27
-#define SYS_oldfstat 28
-#define SYS_pause 29
-#define SYS_utime 30
-#define SYS_stty 31
-#define SYS_gtty 32
-#define SYS_access 33
-#define SYS_nice 34
-#define SYS_ftime 35
-#define SYS_sync 36
-#define SYS_kill 37
-#define SYS_rename 38
-#define SYS_mkdir 39
-#define SYS_rmdir 40
-#define SYS_dup 41
-#define SYS_pipe 42
-#define SYS_times 43
-#define SYS_prof 44
-#define SYS_brk 45
-#define SYS_setgid 46
-#define SYS_getgid 47
-#define SYS_signal 48
-#define SYS_geteuid 49
-#define SYS_getegid 50
-#define SYS_acct 51
-#define SYS_umount2 52
-#define SYS_lock 53
-#define SYS_ioctl 54
-#define SYS_fcntl 55
-#define SYS_mpx 56
-#define SYS_setpgid 57
-#define SYS_ulimit 58
-#define SYS_oldolduname 59
-#define SYS_umask 60
-#define SYS_chroot 61
-#define SYS_ustat 62
-#define SYS_dup2 63
-#define SYS_getppid 64
-#define SYS_getpgrp 65
-#define SYS_setsid 66
-#define SYS_sigaction 67
-#define SYS_sgetmask 68
-#define SYS_ssetmask 69
-#define SYS_setreuid 70
-#define SYS_setregid 71
-#define SYS_sigsuspend 72
-#define SYS_sigpending 73
-#define SYS_sethostname 74
-#define SYS_setrlimit 75
-#define SYS_getrlimit 76
-#define SYS_getrusage 77
-#define SYS_gettimeofday 78
-#define SYS_settimeofday 79
-#define SYS_getgroups 80
-#define SYS_setgroups 81
-#define SYS_select 82
-#define SYS_symlink 83
-#define SYS_oldlstat 84
-#define SYS_readlink 85
-#define SYS_uselib 86
-#define SYS_swapon 87
-#define SYS_reboot 88
-#define SYS_readdir 89
-#define SYS_mmap 90
-#define SYS_munmap 91
-#define SYS_truncate 92
-#define SYS_ftruncate 93
-#define SYS_fchmod 94
-#define SYS_fchown 95
-#define SYS_getpriority 96
-#define SYS_setpriority 97
-#define SYS_profil 98
-#define SYS_statfs 99
-#define SYS_fstatfs 100
-#define SYS_ioperm 101
-#define SYS_socketcall 102
-#define SYS_syslog 103
-#define SYS_setitimer 104
-#define SYS_getitimer 105
-#define SYS_stat 106
-#define SYS_lstat 107
-#define SYS_fstat 108
-#define SYS_olduname 109
-#define SYS_iopl 110
-#define SYS_vhangup 111
-#define SYS_idle 112
-#define SYS_vm86 113
-#define SYS_wait4 114
-#define SYS_swapoff 115
-#define SYS_sysinfo 116
-#define SYS_ipc 117
-#define SYS_fsync 118
-#define SYS_sigreturn 119
-#define SYS_clone 120
-#define SYS_setdomainname 121
-#define SYS_uname 122
-#define SYS_modify_ldt 123
-#define SYS_adjtimex 124
-#define SYS_mprotect 125
-#define SYS_sigprocmask 126
-#define SYS_create_module 127
-#define SYS_init_module 128
-#define SYS_delete_module 129
-#define SYS_get_kernel_syms 130
-#define SYS_quotactl 131
-#define SYS_getpgid 132
-#define SYS_fchdir 133
-#define SYS_bdflush 134
-#define SYS_sysfs 135
-#define SYS_personality 136
-#define SYS_afs_syscall 137
-#define SYS_setfsuid 138
-#define SYS_setfsgid 139
-#define SYS__llseek 140
-#define SYS_getdents 141
-#define SYS__newselect 142
-#define SYS_flock 143
-#define SYS_msync 144
-#define SYS_readv 145
-#define SYS_writev 146
-#define SYS_getsid 147
-#define SYS_fdatasync 148
-#define SYS__sysctl 149
-#define SYS_mlock 150
-#define SYS_munlock 151
-#define SYS_mlockall 152
-#define SYS_munlockall 153
-#define SYS_sched_setparam 154
-#define SYS_sched_getparam 155
-#define SYS_sched_setscheduler 156
-#define SYS_sched_getscheduler 157
-#define SYS_sched_yield 158
-#define SYS_sched_get_priority_max 159
-#define SYS_sched_get_priority_min 160
-#define SYS_sched_rr_get_interval 161
-#define SYS_nanosleep 162
-#define SYS_mremap 163
-#define SYS_setresuid32 164
-#define SYS_setresuid 164
-#define SYS_getresuid32 165
-#define SYS_getresuid 165
-#define SYS_query_module 166
-#define SYS_poll 167
-#define SYS_nfsservctl 168
-#define SYS_setresgid32 169
-#define SYS_setresgid 169
-#define SYS_getresgid32 170
-#define SYS_getresgid 170
-#define SYS_prctl 171
-#define SYS_rt_sigreturn 172
-#define SYS_rt_sigaction 173
-#define SYS_rt_sigprocmask 174
-#define SYS_rt_sigpending 175
-#define SYS_rt_sigtimedwait 176
-#define SYS_rt_sigqueueinfo 177
-#define SYS_rt_sigsuspend 178
-#define SYS_pread64 179
-#define SYS_pwrite64 180
-#define SYS_chown 181
-#define SYS_getcwd 182
-#define SYS_capget 183
-#define SYS_capset 184
-#define SYS_sigaltstack 185
-#define SYS_sendfile 186
-#define SYS_getpmsg 187
-#define SYS_putpmsg 188
-#define SYS_vfork 189
-#define SYS_ugetrlimit 190
-#define SYS_readahead 191
-#define SYS_mmap2 192
-#define SYS_truncate64 193
-#define SYS_ftruncate64 194
-#define SYS_stat64 195
-#define SYS_lstat64 196
-#define SYS_fstat64 197
-#define SYS_pciconfig_read 198
-#define SYS_pciconfig_write 199
-#define SYS_pciconfig_iobase 200
-#define SYS_multiplexer 201
-#define SYS_getdents64 202
-#define SYS_pivot_root 203
-#define SYS_fcntl64 204
-#define SYS_madvise 205
-#define SYS_mincore 206
-#define SYS_gettid 207
-#define SYS_tkill 208
-#define SYS_setxattr 209
-#define SYS_lsetxattr 210
-#define SYS_fsetxattr 211
-#define SYS_getxattr 212
-#define SYS_lgetxattr 213
-#define SYS_fgetxattr 214
-#define SYS_listxattr 215
-#define SYS_llistxattr 216
-#define SYS_flistxattr 217
-#define SYS_removexattr 218
-#define SYS_lremovexattr 219
-#define SYS_fremovexattr 220
-#define SYS_futex 221
-#define SYS_sched_setaffinity 222
-#define SYS_sched_getaffinity 223
-#define SYS_tuxcall 225
-#define SYS_sendfile64 226
-#define SYS_io_setup 227
-#define SYS_io_destroy 228
-#define SYS_io_getevents 229
-#define SYS_io_submit 230
-#define SYS_io_cancel 231
-#define SYS_set_tid_address 232
-#define SYS_fadvise64 233
-#define SYS_exit_group 234
-#define SYS_lookup_dcookie 235
-#define SYS_epoll_create 236
-#define SYS_epoll_ctl 237
-#define SYS_epoll_wait 238
-#define SYS_remap_file_pages 239
-#define SYS_timer_create 240
-#define SYS_timer_settime 241
-#define SYS_timer_gettime 242
-#define SYS_timer_getoverrun 243
-#define SYS_timer_delete 244
-#define SYS_clock_settime 245
-#define SYS_clock_gettime 246
-#define SYS_clock_getres 247
-#define SYS_clock_nanosleep 248
-#define SYS_swapcontext 249
-#define SYS_tgkill 250
-#define SYS_utimes 251
-#define SYS_statfs64 252
-#define SYS_fstatfs64 253
-#define SYS_fadvise64_64 254
-#define SYS_rtas 255
-#define SYS_sys_debug_setcontext 256
-#define SYS_migrate_pages 258
-#define SYS_mbind 259
-#define SYS_get_mempolicy 260
-#define SYS_set_mempolicy 261
-#define SYS_mq_open 262
-#define SYS_mq_unlink 263
-#define SYS_mq_timedsend 264
-#define SYS_mq_timedreceive 265
-#define SYS_mq_notify 266
-#define SYS_mq_getsetattr 267
-#define SYS_kexec_load 268
-#define SYS_add_key 269
-#define SYS_request_key 270
-#define SYS_keyctl 271
-#define SYS_waitid 272
-#define SYS_ioprio_set 273
-#define SYS_ioprio_get 274
-#define SYS_inotify_init 275
-#define SYS_inotify_add_watch 276
-#define SYS_inotify_rm_watch 277
-#define SYS_spu_run 278
-#define SYS_spu_create 279
-#define SYS_pselect6 280
-#define SYS_ppoll 281
-#define SYS_unshare 282
-#define SYS_splice 283
-#define SYS_tee 284
-#define SYS_vmsplice 285
-#define SYS_openat 286
-#define SYS_mkdirat 287
-#define SYS_mknodat 288
-#define SYS_fchownat 289
-#define SYS_futimesat 290
-#define SYS_fstatat64 291
-#define SYS_unlinkat 292
-#define SYS_renameat 293
-#define SYS_linkat 294
-#define SYS_symlinkat 295
-#define SYS_readlinkat 296
-#define SYS_fchmodat 297
-#define SYS_faccessat 298
-#define SYS_get_robust_list 299
-#define SYS_set_robust_list 300
-#define SYS_move_pages 301
-#define SYS_getcpu 302
-#define SYS_epoll_pwait 303
-#define SYS_utimensat 304
-#define SYS_signalfd 305
-#define SYS_timerfd 306
-#define SYS_timerfd_create 306
-#define SYS_eventfd 307
-#define SYS_sync_file_range2 308
-#define SYS_fallocate 309
-#define SYS_subpage_prot 310
-#define SYS_timerfd_settime 311
-#define SYS_timerfd_gettime 312
-#define SYS_signalfd4 313
-#define SYS_eventfd2 314
-#define SYS_epoll_create1 315
-#define SYS_dup3 316
-#define SYS_pipe2 317
-#define SYS_inotify_init1 318
-#define SYS_perf_event_open 319
-#define SYS_preadv 320
-#define SYS_pwritev 321
-#define SYS_rt_tgsigqueueinfo 322
-#define SYS_fanotify_init 323
-#define SYS_fanotify_mark 324
-#define SYS_prlimit64 325
-#define SYS_socket 326
-#define SYS_bind 327
-#define SYS_connect 328
-#define SYS_listen 329
-#define SYS_accept 330
-#define SYS_getsockname 331
-#define SYS_getpeername 332
-#define SYS_socketpair 333
-#define SYS_send 334
-#define SYS_sendto 335
-#define SYS_recv 336
-#define SYS_recvfrom 337
-#define SYS_shutdown 338
-#define SYS_setsockopt 339
-#define SYS_getsockopt 340
-#define SYS_sendmsg 341
-#define SYS_recvmsg 342
-#define SYS_recvmmsg 343
-#define SYS_accept4 344
-#define SYS_name_to_handle_at 345
-#define SYS_open_by_handle_at 346
-#define SYS_clock_adjtime 347
-#define SYS_syncfs 348
-#define SYS_sendmmsg 349
-#define SYS_setns 350
-#define SYS_process_vm_readv 351
-#define SYS_process_vm_writev 352
-#define SYS_finit_module 353
-#define SYS_kcmp 354
-#define SYS_sched_setattr 355
-#define SYS_sched_getattr 356
-#define SYS_renameat2 357
-#define SYS_seccomp 358
-#define SYS_getrandom 359
-#define SYS_memfd_create 360
-#define SYS_bpf 361
-#define SYS_execveat 362
-#define SYS_switch_endian 363
-#define SYS_userfaultfd 364
-#define SYS_membarrier 365
-#define SYS_mlock2 378
diff --git a/fusl/arch/powerpc/bits/termios.h b/fusl/arch/powerpc/bits/termios.h
deleted file mode 100644
index d6dab10..0000000
--- a/fusl/arch/powerpc/bits/termios.h
+++ /dev/null
@@ -1,169 +0,0 @@
-#undef NCCS
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag;
- tcflag_t c_oflag;
- tcflag_t c_cflag;
- tcflag_t c_lflag;
- cc_t c_cc[NCCS];
- cc_t c_line;
- speed_t __c_ispeed;
- speed_t __c_ospeed;
-};
-
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VMIN 5
-#define VEOL 6
-#define VTIME 7
-#define VEOL2 8
-#define VSWTC 9
-#define VWERASE 10
-#define VREPRINT 11
-#define VSUSP 12
-#define VSTART 13
-#define VSTOP 14
-#define VLNEXT 15
-#define VDISCARD 16
-
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IXON 0001000
-#define IXOFF 0002000
-#define IXANY 0004000
-#define IUCLC 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-#define OPOST 0000001
-#define ONLCR 0000002
-#define OLCUC 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0001400
-#define NL0 0000000
-#define NL1 0000400
-#define NL2 0001000
-#define NL3 0001400
-#define TABDLY 0006000
-#define TAB0 0000000
-#define TAB1 0002000
-#define TAB2 0004000
-#define TAB3 0006000
-#define CRDLY 0030000
-#define CR0 0000000
-#define CR1 0010000
-#define CR2 0020000
-#define CR3 0030000
-#define FFDLY 0040000
-#define FF0 0000000
-#define FF1 0040000
-#define BSDLY 0100000
-#define BS0 0000000
-#define BS1 0100000
-
-#define VTDLY 0200000
-#define VT0 0000000
-#define VT1 0200000
-
-#define B0 0000000
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA 0000016
-#define EXTB 0000017
-
-#define B57600 00020
-#define B115200 00021
-#define B230400 00022
-#define B460800 00023
-#define B500000 00024
-#define B576000 00025
-#define B921600 00026
-#define B1000000 00027
-#define B1152000 00030
-#define B1500000 00031
-#define B2000000 00032
-#define B2500000 00033
-#define B3000000 00034
-#define B3500000 00035
-#define B4000000 00036
-#define BOTHER 00037
-
-#define CBAUD 00377
-
-#define CSIZE 00001400
-#define CS5 00000000
-#define CS6 00000400
-#define CS7 00001000
-#define CS8 00001400
-#define CSTOPB 00002000
-#define CREAD 00004000
-#define PARENB 00010000
-#define PARODD 00020000
-#define HUPCL 00040000
-#define CLOCAL 00100000
-
-#define ECHOKE 0x00000001
-#define ECHOE 0x00000002
-#define ECHOK 0x00000004
-#define ECHO 0x00000008
-#define ECHONL 0x00000010
-#define ECHOPRT 0x00000020
-#define ECHOCTL 0x00000040
-#define ISIG 0x00000080
-#define ICANON 0x00000100
-#define IEXTEN 0x00000400
-#define XCASE 0x00004000
-#define TOSTOP 0x00400000
-#define FLUSHO 0x00800000
-#define PENDIN 0x20000000
-#define NOFLSH 0x80000000
-
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define CBAUDEX 0000000
-#define CIBAUD 077600000
-#define IBSHIFT 16
-#define CMSPAR 010000000000
-#define CRTSCTS 020000000000
-#define EXTPROC 0x10000000
-#define XTABS 00006000
-#endif
diff --git a/fusl/arch/powerpc/bits/user.h b/fusl/arch/powerpc/bits/user.h
deleted file mode 100644
index 7da27b9..0000000
--- a/fusl/arch/powerpc/bits/user.h
+++ /dev/null
@@ -1,28 +0,0 @@
-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;
- unsigned long u_tsize, u_dsize, u_ssize;
- unsigned long start_code, start_data, start_stack;
- long signal;
- void* u_ar0;
- unsigned long magic;
- char u_comm[32];
-};
-
-#define ELF_NGREG 48
-#define ELF_NFPREG 33
-#define ELF_NVRREG 33
-typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
-typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG];
-typedef struct {
- unsigned u[4];
-}
-#ifdef __GNUC__
-__attribute__((__aligned__(16)))
-#endif
-elf_vrreg_t,
- elf_vrregset_t[ELF_NVRREG];
diff --git a/fusl/arch/powerpc/crt_arch.h b/fusl/arch/powerpc/crt_arch.h
deleted file mode 100644
index efa487a..0000000
--- a/fusl/arch/powerpc/crt_arch.h
+++ /dev/null
@@ -1,20 +0,0 @@
-__asm__(
- ".text \n"
- ".global " START
- " \n"
- ".type " START ", %function \n" START
- ": \n"
- " bl 1f \n"
- ".weak _DYNAMIC \n"
- ".hidden _DYNAMIC \n"
- " .long _DYNAMIC-. \n"
- "1: mflr 4 \n"
- " lwz 3, 0(4) \n"
- " add 4, 3, 4 \n"
- " mr 3, 1 \n"
- " clrrwi 1, 1, 4 \n"
- " li 0, 0 \n"
- " stwu 1, -16(1) \n"
- " mtlr 0 \n"
- " stw 0, 0(1) \n"
- " bl " START "_c \n");
diff --git a/fusl/arch/powerpc/pthread_arch.h b/fusl/arch/powerpc/pthread_arch.h
deleted file mode 100644
index 10b0a2c..0000000
--- a/fusl/arch/powerpc/pthread_arch.h
+++ /dev/null
@@ -1,21 +0,0 @@
-static inline struct pthread* __pthread_self() {
-#ifdef __clang__
- char* tp;
- __asm__ __volatile__("mr %0, 2" : "=r"(tp) : :);
-#else
- register char* tp __asm__("r2");
- __asm__ __volatile__("" : "=r"(tp));
-#endif
- return (pthread_t)(tp - 0x7000 - sizeof(struct pthread));
-}
-
-#define TLS_ABOVE_TP
-#define TP_ADJ(p) ((char*)(p) + sizeof(struct pthread) + 0x7000)
-
-#define DTP_OFFSET 0x8000
-
-// the kernel calls the ip "nip", it's the first saved value after the 32
-// GPRs.
-#define MC_PC gregs[32]
-
-#define CANARY canary_at_end
diff --git a/fusl/arch/powerpc/reloc.h b/fusl/arch/powerpc/reloc.h
deleted file mode 100644
index 264d944..0000000
--- a/fusl/arch/powerpc/reloc.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#define LDSO_ARCH "powerpc"
-
-#define TPOFF_K (-0x7000)
-
-#define REL_SYMBOLIC R_PPC_ADDR32
-#define REL_GOT R_PPC_GLOB_DAT
-#define REL_PLT R_PPC_JMP_SLOT
-#define REL_RELATIVE R_PPC_RELATIVE
-#define REL_COPY R_PPC_COPY
-#define REL_DTPMOD R_PPC_DTPMOD32
-#define REL_DTPOFF R_PPC_DTPREL32
-#define REL_TPOFF R_PPC_TPREL32
-
-#define CRTJMP(pc, sp) \
- __asm__ __volatile__("mr 1,%1 ; mtlr %0 ; blr" \
- : \
- : "r"(pc), "r"(sp) \
- : "memory")
-
-#define GETFUNCSYM(fp, sym, got) \
- __asm__(".hidden " #sym \
- " \n" \
- " bl 1f \n" \
- " .long " #sym \
- "-. \n" \
- "1: mflr %1 \n" \
- " lwz %0, 0(%1) \n" \
- " add %0, %0, %1 \n" \
- : "=r"(*(fp)), "=r"((int){0}) \
- : \
- : "memory", "lr")
diff --git a/fusl/arch/powerpc/syscall_arch.h b/fusl/arch/powerpc/syscall_arch.h
deleted file mode 100644
index dba48a4..0000000
--- a/fusl/arch/powerpc/syscall_arch.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __SYSCALL_LL_E(x) \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[0], \
- ((union { \
- long long ll; \
- long l[2]; \
- }){.ll = x}) \
- .l[1]
-#define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-#undef SYSCALL_NO_INLINE
-#define SYSCALL_NO_INLINE
diff --git a/fusl/crt/arm/crti.s b/fusl/crt/arm/crti.s
deleted file mode 100644
index 18dc1e4..0000000
--- a/fusl/crt/arm/crti.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.syntax unified
-
-.section .init
-.global _init
-.type _init,%function
-_init:
- push {r0,lr}
-
-.section .fini
-.global _fini
-.type _fini,%function
-_fini:
- push {r0,lr}
diff --git a/fusl/crt/arm/crtn.s b/fusl/crt/arm/crtn.s
deleted file mode 100644
index dc020f9..0000000
--- a/fusl/crt/arm/crtn.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.syntax unified
-
-.section .init
- pop {r0,lr}
- bx lr
-
-.section .fini
- pop {r0,lr}
- bx lr
diff --git a/fusl/crt/i386/crti.s b/fusl/crt/i386/crti.s
deleted file mode 100644
index d2682a2..0000000
--- a/fusl/crt/i386/crti.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.section .init
-.global _init
-_init:
- sub $12,%esp
-
-.section .fini
-.global _fini
-_fini:
- sub $12,%esp
diff --git a/fusl/crt/i386/crtn.s b/fusl/crt/i386/crtn.s
deleted file mode 100644
index f3b61e0..0000000
--- a/fusl/crt/i386/crtn.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.section .init
- add $12,%esp
- ret
-
-.section .fini
- add $12,%esp
- ret
diff --git a/fusl/crt/mips/crti.s b/fusl/crt/mips/crti.s
deleted file mode 100644
index 39dee38..0000000
--- a/fusl/crt/mips/crti.s
+++ /dev/null
@@ -1,19 +0,0 @@
-.set noreorder
-
-.section .init
-.global _init
-.type _init,@function
-.align 2
-_init:
- subu $sp,$sp,32
- sw $gp,24($sp)
- sw $ra,28($sp)
-
-.section .fini
-.global _fini
-.type _fini,@function
-.align 2
-_fini:
- subu $sp,$sp,32
- sw $gp,24($sp)
- sw $ra,28($sp)
diff --git a/fusl/crt/mips/crtn.s b/fusl/crt/mips/crtn.s
deleted file mode 100644
index 506a04b..0000000
--- a/fusl/crt/mips/crtn.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.set noreorder
-
-.section .init
- lw $gp,24($sp)
- lw $ra,28($sp)
- j $ra
- addu $sp,$sp,32
-
-.section .fini
- lw $gp,24($sp)
- lw $ra,28($sp)
- j $ra
- addu $sp,$sp,32
diff --git a/fusl/crt/powerpc/crti.s b/fusl/crt/powerpc/crti.s
deleted file mode 100644
index 60461ca..0000000
--- a/fusl/crt/powerpc/crti.s
+++ /dev/null
@@ -1,15 +0,0 @@
-.section .init
-.align 2
-.global _init
-_init:
- stwu 1,-32(1)
- mflr 0
- stw 0,36(1)
-
-.section .fini
-.align 2
-.global _fini
-_fini:
- stwu 1,-32(1)
- mflr 0
- stw 0,36(1)
diff --git a/fusl/crt/powerpc/crtn.s b/fusl/crt/powerpc/crtn.s
deleted file mode 100644
index 2d14a6f..0000000
--- a/fusl/crt/powerpc/crtn.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.section .init
-.align 2
- lwz 0,36(1)
- addi 1,1,32
- mtlr 0
- blr
-
-.section .fini
-.align 2
- lwz 0,36(1)
- addi 1,1,32
- mtlr 0
- blr
diff --git a/fusl/src/exit/arm/__aeabi_atexit.c b/fusl/src/exit/arm/__aeabi_atexit.c
deleted file mode 100644
index 4dc51c4..0000000
--- a/fusl/src/exit/arm/__aeabi_atexit.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int __cxa_atexit(void (*func)(void*), void* arg, void* dso);
-
-int __aeabi_atexit(void* obj, void (*func)(void*), void* d) {
- return __cxa_atexit(func, obj, d);
-}
diff --git a/fusl/src/fenv/arm/fenv-hf.s b/fusl/src/fenv/arm/fenv-hf.s
deleted file mode 100644
index f55d798..0000000
--- a/fusl/src/fenv/arm/fenv-hf.s
+++ /dev/null
@@ -1,69 +0,0 @@
-#if __ARM_PCS_VFP
-
-.syntax unified
-.fpu vfp
-
-.global fegetround
-.type fegetround,%function
-fegetround:
- fmrx r0, fpscr
- and r0, r0, #0xc00000
- bx lr
-
-.global __fesetround
-.type __fesetround,%function
-__fesetround:
- fmrx r3, fpscr
- bic r3, r3, #0xc00000
- orr r3, r3, r0
- fmxr fpscr, r3
- mov r0, #0
- bx lr
-
-.global fetestexcept
-.type fetestexcept,%function
-fetestexcept:
- and r0, r0, #0x1f
- fmrx r3, fpscr
- and r0, r0, r3
- bx lr
-
-.global feclearexcept
-.type feclearexcept,%function
-feclearexcept:
- and r0, r0, #0x1f
- fmrx r3, fpscr
- bic r3, r3, r0
- fmxr fpscr, r3
- mov r0, #0
- bx lr
-
-.global feraiseexcept
-.type feraiseexcept,%function
-feraiseexcept:
- and r0, r0, #0x1f
- fmrx r3, fpscr
- orr r3, r3, r0
- fmxr fpscr, r3
- mov r0, #0
- bx lr
-
-.global fegetenv
-.type fegetenv,%function
-fegetenv:
- fmrx r3, fpscr
- str r3, [r0]
- mov r0, #0
- bx lr
-
-.global fesetenv
-.type fesetenv,%function
-fesetenv:
- cmn r0, #1
- moveq r3, #0
- ldrne r3, [r0]
- fmxr fpscr, r3
- mov r0, #0
- bx lr
-
-#endif
diff --git a/fusl/src/fenv/arm/fenv.c b/fusl/src/fenv/arm/fenv.c
deleted file mode 100644
index ad295f5..0000000
--- a/fusl/src/fenv/arm/fenv.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#if !__ARM_PCS_VFP
-#include "../fenv.c"
-#endif
diff --git a/fusl/src/fenv/i386/fenv.s b/fusl/src/fenv/i386/fenv.s
deleted file mode 100644
index a189ca2..0000000
--- a/fusl/src/fenv/i386/fenv.s
+++ /dev/null
@@ -1,163 +0,0 @@
-.hidden __hwcap
-
-.global feclearexcept
-.type feclearexcept,@function
-feclearexcept:
- mov 4(%esp),%ecx
- and $0x3f,%ecx
- fnstsw %ax
- # consider sse fenv as well if the cpu has XMM capability
- call 1f
-1: addl $__hwcap-1b,(%esp)
- pop %edx
- testl $0x02000000,(%edx)
- jz 2f
- # maintain exceptions in the sse mxcsr, clear x87 exceptions
- test %eax,%ecx
- jz 1f
- fnclex
-1: push %edx
- stmxcsr (%esp)
- pop %edx
- and $0x3f,%eax
- or %eax,%edx
- test %edx,%ecx
- jz 1f
- not %ecx
- and %ecx,%edx
- push %edx
- ldmxcsr (%esp)
- pop %edx
-1: xor %eax,%eax
- ret
- # only do the expensive x87 fenv load/store when needed
-2: test %eax,%ecx
- jz 1b
- not %ecx
- and %ecx,%eax
- test $0x3f,%eax
- jz 1f
- fnclex
- jmp 1b
-1: sub $32,%esp
- fnstenv (%esp)
- mov %al,4(%esp)
- fldenv (%esp)
- add $32,%esp
- xor %eax,%eax
- ret
-
-.global feraiseexcept
-.type feraiseexcept,@function
-feraiseexcept:
- mov 4(%esp),%eax
- and $0x3f,%eax
- sub $32,%esp
- fnstenv (%esp)
- or %al,4(%esp)
- fldenv (%esp)
- add $32,%esp
- xor %eax,%eax
- ret
-
-.global __fesetround
-.type __fesetround,@function
-__fesetround:
- mov 4(%esp),%ecx
- push %eax
- xor %eax,%eax
- fnstcw (%esp)
- andb $0xf3,1(%esp)
- or %ch,1(%esp)
- fldcw (%esp)
- # consider sse fenv as well if the cpu has XMM capability
- call 1f
-1: addl $__hwcap-1b,(%esp)
- pop %edx
- testl $0x02000000,(%edx)
- jz 1f
- stmxcsr (%esp)
- shl $3,%ch
- andb $0x9f,1(%esp)
- or %ch,1(%esp)
- ldmxcsr (%esp)
-1: pop %ecx
- ret
-
-.global fegetround
-.type fegetround,@function
-fegetround:
- push %eax
- fnstcw (%esp)
- pop %eax
- and $0xc00,%eax
- ret
-
-.global fegetenv
-.type fegetenv,@function
-fegetenv:
- mov 4(%esp),%ecx
- xor %eax,%eax
- fnstenv (%ecx)
- # consider sse fenv as well if the cpu has XMM capability
- call 1f
-1: addl $__hwcap-1b,(%esp)
- pop %edx
- testl $0x02000000,(%edx)
- jz 1f
- push %eax
- stmxcsr (%esp)
- pop %edx
- and $0x3f,%edx
- or %edx,4(%ecx)
-1: ret
-
-.global fesetenv
-.type fesetenv,@function
-fesetenv:
- mov 4(%esp),%ecx
- xor %eax,%eax
- inc %ecx
- jz 1f
- fldenv -1(%ecx)
- movl -1(%ecx),%ecx
- jmp 2f
-1: push %eax
- push %eax
- push %eax
- push %eax
- pushl $0xffff
- push %eax
- pushl $0x37f
- fldenv (%esp)
- add $28,%esp
- # consider sse fenv as well if the cpu has XMM capability
-2: call 1f
-1: addl $__hwcap-1b,(%esp)
- pop %edx
- testl $0x02000000,(%edx)
- jz 1f
- # mxcsr := same rounding mode, cleared exceptions, default mask
- and $0xc00,%ecx
- shl $3,%ecx
- or $0x1f80,%ecx
- mov %ecx,4(%esp)
- ldmxcsr 4(%esp)
-1: ret
-
-.global fetestexcept
-.type fetestexcept,@function
-fetestexcept:
- mov 4(%esp),%ecx
- and $0x3f,%ecx
- fnstsw %ax
- # consider sse fenv as well if the cpu has XMM capability
- call 1f
-1: addl $__hwcap-1b,(%esp)
- pop %edx
- testl $0x02000000,(%edx)
- jz 1f
- stmxcsr 4(%esp)
- or 4(%esp),%eax
-1: and %ecx,%eax
- ret
diff --git a/fusl/src/fenv/mips/fenv-sf.c b/fusl/src/fenv/mips/fenv-sf.c
deleted file mode 100644
index 4aa3dbf..0000000
--- a/fusl/src/fenv/mips/fenv-sf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifdef __mips_soft_float
-#include "../fenv.c"
-#endif
diff --git a/fusl/src/fenv/mips/fenv.s b/fusl/src/fenv/mips/fenv.s
deleted file mode 100644
index a5cb1f5..0000000
--- a/fusl/src/fenv/mips/fenv.s
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef __mips_soft_float
-
-.set noreorder
-
-.global feclearexcept
-.type feclearexcept,@function
-feclearexcept:
- and $4, $4, 0x7c
- cfc1 $5, $31
- or $5, $5, $4
- xor $5, $5, $4
- ctc1 $5, $31
- jr $ra
- li $2, 0
-
-.global feraiseexcept
-.type feraiseexcept,@function
-feraiseexcept:
- and $4, $4, 0x7c
- cfc1 $5, $31
- or $5, $5, $4
- ctc1 $5, $31
- jr $ra
- li $2, 0
-
-.global fetestexcept
-.type fetestexcept,@function
-fetestexcept:
- and $4, $4, 0x7c
- cfc1 $2, $31
- jr $ra
- and $2, $2, $4
-
-.global fegetround
-.type fegetround,@function
-fegetround:
- cfc1 $2, $31
- jr $ra
- andi $2, $2, 3
-
-.global __fesetround
-.type __fesetround,@function
-__fesetround:
- cfc1 $5, $31
- li $6, -4
- and $5, $5, $6
- or $5, $5, $4
- ctc1 $5, $31
- jr $ra
- li $2, 0
-
-.global fegetenv
-.type fegetenv,@function
-fegetenv:
- cfc1 $5, $31
- sw $5, 0($4)
- jr $ra
- li $2, 0
-
-.global fesetenv
-.type fesetenv,@function
-fesetenv:
- addiu $5, $4, 1
- beq $5, $0, 1f
- nop
- lw $5, 0($4)
-1: ctc1 $5, $31
- jr $ra
- li $2, 0
-
-#endif
diff --git a/fusl/src/fenv/powerpc/fenv.s b/fusl/src/fenv/powerpc/fenv.s
deleted file mode 100644
index e34a999..0000000
--- a/fusl/src/fenv/powerpc/fenv.s
+++ /dev/null
@@ -1,123 +0,0 @@
-.global feclearexcept
-.type feclearexcept,@function
-feclearexcept:
- andis. 3,3,0x3e00
- # if (r3 & FE_INVALID) r3 |= all_invalid_flags
- andis. 0,3,0x2000
- stwu 1,-16(1)
- beq- 0,1f
- oris 3,3,0x01f8
- ori 3,3,0x0700
-1:
- # note: fpscr contains various fpu status and control
- # flags and we dont check if r3 may alter other flags
- # than the exception related ones
- # fpscr &= ~r3
- mffs 0
- stfd 0,8(1)
- lwz 9,12(1)
- andc 9,9,3
- stw 9,12(1)
- lfd 0,8(1)
- mtfsf 255,0
-
- # return 0
- li 3,0
- addi 1,1,16
- blr
-
-.global feraiseexcept
-.type feraiseexcept,@function
-feraiseexcept:
- andis. 3,3,0x3e00
- # if (r3 & FE_INVALID) r3 |= software_invalid_flag
- andis. 0,3,0x2000
- stwu 1,-16(1)
- beq- 0,1f
- ori 3,3,0x0400
-1:
- # fpscr |= r3
- mffs 0
- stfd 0,8(1)
- lwz 9,12(1)
- or 9,9,3
- stw 9,12(1)
- lfd 0,8(1)
- mtfsf 255,0
-
- # return 0
- li 3,0
- addi 1,1,16
- blr
-
-.global fetestexcept
-.type fetestexcept,@function
-fetestexcept:
- andis. 3,3,0x3e00
- # return r3 & fpscr
- stwu 1,-16(1)
- mffs 0
- stfd 0,8(1)
- lwz 9,12(1)
- addi 1,1,16
- and 3,3,9
- blr
-
-.global fegetround
-.type fegetround,@function
-fegetround:
- # return fpscr & 3
- stwu 1,-16(1)
- mffs 0
- stfd 0,8(1)
- lwz 3,12(1)
- addi 1,1,16
- clrlwi 3,3,30
- blr
-
-.global __fesetround
-.type __fesetround,@function
-__fesetround:
- # note: invalid input is not checked, r3 < 4 must hold
- # fpscr = (fpscr & -4U) | r3
- stwu 1,-16(1)
- mffs 0
- stfd 0,8(1)
- lwz 9,12(1)
- clrrwi 9,9,2
- or 9,9,3
- stw 9,12(1)
- lfd 0,8(1)
- mtfsf 255,0
-
- # return 0
- li 3,0
- addi 1,1,16
- blr
-
-.global fegetenv
-.type fegetenv,@function
-fegetenv:
- # *r3 = fpscr
- mffs 0
- stfd 0,0(3)
- # return 0
- li 3,0
- blr
-
-.global fesetenv
-.type fesetenv,@function
-fesetenv:
- cmpwi 3, -1
- bne 1f
- mflr 4
- bl 2f
- .zero 8
-2: mflr 3
- mtlr 4
-1: # fpscr = *r3
- lfd 0,0(3)
- mtfsf 255,0
- # return 0
- li 3,0
- blr
diff --git a/fusl/src/internal/arm/syscall.s b/fusl/src/internal/arm/syscall.s
deleted file mode 100644
index 64dba2f..0000000
--- a/fusl/src/internal/arm/syscall.s
+++ /dev/null
@@ -1,15 +0,0 @@
-.syntax unified
-.global __syscall
-.hidden __syscall
-.type __syscall,%function
-__syscall:
- mov ip,sp
- stmfd sp!,{r4,r5,r6,r7}
- mov r7,r0
- mov r0,r1
- mov r1,r2
- mov r2,r3
- ldmfd ip,{r3,r4,r5,r6}
- svc 0
- ldmfd sp!,{r4,r5,r6,r7}
- bx lr
diff --git a/fusl/src/internal/i386/syscall.s b/fusl/src/internal/i386/syscall.s
deleted file mode 100644
index 0ebf221..0000000
--- a/fusl/src/internal/i386/syscall.s
+++ /dev/null
@@ -1,78 +0,0 @@
-.hidden __sysinfo
-
-# The calling convention for __vsyscall has the syscall number
-# and 5 args arriving as: eax, edx, ecx, edi, esi, 4(%esp).
-# This ensures that the inline asm in the C code never has to touch
-# ebx or ebp (which are unavailable in PIC and frame-pointer-using
-# code, respectively), and optimizes for size/simplicity in the caller.
-
-.global __vsyscall
-.hidden __vsyscall
-.type __vsyscall,@function
-__vsyscall:
- push %edi
- push %ebx
- mov %edx,%ebx
- mov %edi,%edx
- mov 12(%esp),%edi
- push %eax
- call 1f
-2: mov %ebx,%edx
- pop %ebx
- pop %ebx
- pop %edi
- ret
-
-1: mov (%esp),%eax
- add $[__sysinfo-2b],%eax
- mov (%eax),%eax
- test %eax,%eax
- jz 1f
- push %eax
- mov 8(%esp),%eax
- ret # tail call to kernel vsyscall entry
-1: mov 4(%esp),%eax
- int $128
- ret
-
-# The __vsyscall6 entry point is used only for 6-argument syscalls.
-# Instead of passing the 5th argument on the stack, a pointer to the
-# 5th and 6th arguments is passed. This is ugly, but there are no
-# register constraints the inline asm could use that would make it
-# possible to pass two arguments on the stack.
-
-.global __vsyscall6
-.hidden __vsyscall6
-.type __vsyscall6,@function
-__vsyscall6:
- push %ebp
- push %eax
- mov 12(%esp), %ebp
- mov (%ebp), %eax
- mov 4(%ebp), %ebp
- push %eax
- mov 4(%esp),%eax
- call __vsyscall
- pop %ebp
- pop %ebp
- pop %ebp
- ret
-
-.global __syscall
-.hidden __syscall
-.type __syscall,@function
-__syscall:
- lea 24(%esp),%eax
- push %esi
- push %edi
- push %eax
- mov 16(%esp),%eax
- mov 20(%esp),%edx
- mov 24(%esp),%ecx
- mov 28(%esp),%edi
- mov 32(%esp),%esi
- call __vsyscall6
- pop %edi
- pop %edi
- pop %esi
- ret
diff --git a/fusl/src/internal/mips/syscall.s b/fusl/src/internal/mips/syscall.s
deleted file mode 100644
index 5d0def5..0000000
--- a/fusl/src/internal/mips/syscall.s
+++ /dev/null
@@ -1,26 +0,0 @@
-.set noreorder
-
-.global __syscall
-.hidden __syscall
-.type __syscall,@function
-__syscall:
- move $2, $4
- move $4, $5
- move $5, $6
- move $6, $7
- lw $7, 16($sp)
- lw $8, 20($sp)
- lw $9, 24($sp)
- lw $10,28($sp)
- subu $sp, $sp, 32
- sw $8, 16($sp)
- sw $9, 20($sp)
- sw $10,24($sp)
- sw $2 ,28($sp)
- lw $2, 28($sp)
- syscall
- beq $7, $0, 1f
- addu $sp, $sp, 32
- subu $2, $0, $2
-1: jr $ra
- nop
diff --git a/fusl/src/internal/powerpc/syscall.s b/fusl/src/internal/powerpc/syscall.s
deleted file mode 100644
index 5b16b8f..0000000
--- a/fusl/src/internal/powerpc/syscall.s
+++ /dev/null
@@ -1,19 +0,0 @@
- .global __syscall
- .hidden __syscall
- .type __syscall,@function
-__syscall:
- mr 0, 3 # Save the system call number
- mr 3, 4 # Shift the arguments: arg1
- mr 4, 5 # arg2
- mr 5, 6 # arg3
- mr 6, 7 # arg4
- mr 7, 8 # arg5
- mr 8, 9 # arg6
- sc
- bnslr+ # return if not summary overflow
- #else error:
- # return negated value.
- neg 3, 3
- blr
- .end __syscall
- .size __syscall, .-__syscall
diff --git a/fusl/src/ldso/arm/dlsym.s b/fusl/src/ldso/arm/dlsym.s
deleted file mode 100644
index 2652c34..0000000
--- a/fusl/src/ldso/arm/dlsym.s
+++ /dev/null
@@ -1,8 +0,0 @@
-.syntax unified
-.text
-.global dlsym
-.hidden __dlsym
-.type dlsym,%function
-dlsym:
- mov r2,lr
- b __dlsym
diff --git a/fusl/src/ldso/arm/find_exidx.c b/fusl/src/ldso/arm/find_exidx.c
deleted file mode 100644
index 93323f7..0000000
--- a/fusl/src/ldso/arm/find_exidx.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#define _GNU_SOURCE
-#include <link.h>
-#include <stdint.h>
-
-struct find_exidx_data {
- uintptr_t pc, exidx_start;
- int exidx_len;
-};
-
-static int find_exidx(struct dl_phdr_info* info, size_t size, void* ptr) {
- struct find_exidx_data* data = ptr;
- const ElfW(Phdr)* phdr = info->dlpi_phdr;
- uintptr_t addr, exidx_start = 0;
- int i, match = 0, exidx_len = 0;
-
- for (i = info->dlpi_phnum; i > 0; i--, phdr++) {
- addr = info->dlpi_addr + phdr->p_vaddr;
- switch (phdr->p_type) {
- case PT_LOAD:
- match |= data->pc >= addr && data->pc < addr + phdr->p_memsz;
- break;
- case PT_ARM_EXIDX:
- exidx_start = addr;
- exidx_len = phdr->p_memsz;
- break;
- }
- }
- data->exidx_start = exidx_start;
- data->exidx_len = exidx_len;
- return match;
-}
-
-uintptr_t __gnu_Unwind_Find_exidx(uintptr_t pc, int* pcount) {
- struct find_exidx_data data;
- data.pc = pc;
- if (dl_iterate_phdr(find_exidx, &data) <= 0)
- return 0;
- *pcount = data.exidx_len / 8;
- return data.exidx_start;
-}
diff --git a/fusl/src/ldso/i386/dlsym.s b/fusl/src/ldso/i386/dlsym.s
deleted file mode 100644
index 097e30c..0000000
--- a/fusl/src/ldso/i386/dlsym.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.global dlsym
-.hidden __dlsym
-.type dlsym,@function
-dlsym:
- push (%esp)
- push 12(%esp)
- push 12(%esp)
- call __dlsym
- add $12,%esp
- ret
diff --git a/fusl/src/ldso/i386/tlsdesc.s b/fusl/src/ldso/i386/tlsdesc.s
deleted file mode 100644
index 4a553bc..0000000
--- a/fusl/src/ldso/i386/tlsdesc.s
+++ /dev/null
@@ -1,31 +0,0 @@
-.text
-.global __tlsdesc_static
-.hidden __tlsdesc_static
-.type __tlsdesc_static,@function
-__tlsdesc_static:
- mov 4(%eax),%eax
- ret
-
-.hidden __tls_get_new
-
-.global __tlsdesc_dynamic
-.hidden __tlsdesc_dynamic
-.type __tlsdesc_dynamic,@function
-__tlsdesc_dynamic:
- mov 4(%eax),%eax
- push %edx
- mov %gs:4,%edx
- push %ecx
- mov (%eax),%ecx
- cmp %ecx,(%edx)
- jc 1f
- mov 4(%eax),%eax
- add (%edx,%ecx,4),%eax
-2: pop %ecx
- sub %gs:0,%eax
- pop %edx
- ret
-1: push %eax
- call __tls_get_new
- pop %ecx
- jmp 2b
diff --git a/fusl/src/ldso/mips/dlsym.s b/fusl/src/ldso/mips/dlsym.s
deleted file mode 100644
index 1573e51..0000000
--- a/fusl/src/ldso/mips/dlsym.s
+++ /dev/null
@@ -1,17 +0,0 @@
-.set noreorder
-.global dlsym
-.hidden __dlsym
-.type dlsym,@function
-dlsym:
- lui $gp, %hi(_gp_disp)
- addiu $gp, %lo(_gp_disp)
- addu $gp, $gp, $25
- move $6, $ra
- lw $25, %call16(__dlsym)($gp)
- addiu $sp, $sp, -16
- sw $ra, 12($sp)
- jalr $25
- nop
- lw $ra, 12($sp)
- jr $ra
- addiu $sp, $sp, 16
diff --git a/fusl/src/ldso/powerpc/dlsym.s b/fusl/src/ldso/powerpc/dlsym.s
deleted file mode 100644
index 357d577..0000000
--- a/fusl/src/ldso/powerpc/dlsym.s
+++ /dev/null
@@ -1,9 +0,0 @@
- .text
- .global dlsym
- .hidden __dlsym
- .type dlsym,@function
-dlsym:
- mflr 5 # The return address is arg3.
- b __dlsym
- .end dlsym
- .size dlsym, .-dlsym
diff --git a/fusl/src/math/arm/fabs.c b/fusl/src/math/arm/fabs.c
deleted file mode 100644
index 1b093a7..0000000
--- a/fusl/src/math/arm/fabs.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-#if __ARM_PCS_VFP
-
-double fabs(double x) {
- __asm__("vabs.f64 %P0, %P1" : "=w"(x) : "w"(x));
- return x;
-}
-
-#else
-
-#include "../fabs.c"
-
-#endif
diff --git a/fusl/src/math/arm/fabsf.c b/fusl/src/math/arm/fabsf.c
deleted file mode 100644
index 36e5e96..0000000
--- a/fusl/src/math/arm/fabsf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-#if __ARM_PCS_VFP
-
-float fabsf(float x) {
- __asm__("vabs.f32 %0, %1" : "=t"(x) : "t"(x));
- return x;
-}
-
-#else
-
-#include "../fabsf.c"
-
-#endif
diff --git a/fusl/src/math/arm/sqrt.c b/fusl/src/math/arm/sqrt.c
deleted file mode 100644
index 20f559e..0000000
--- a/fusl/src/math/arm/sqrt.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-#if __VFP_FP__ && !__SOFTFP__
-
-double sqrt(double x) {
- __asm__("vsqrt.f64 %P0, %P1" : "=w"(x) : "w"(x));
- return x;
-}
-
-#else
-
-#include "../sqrt.c"
-
-#endif
diff --git a/fusl/src/math/arm/sqrtf.c b/fusl/src/math/arm/sqrtf.c
deleted file mode 100644
index 5b51c15..0000000
--- a/fusl/src/math/arm/sqrtf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-#if __VFP_FP__ && !__SOFTFP__
-
-float sqrtf(float x) {
- __asm__("vsqrt.f32 %0, %1" : "=t"(x) : "t"(x));
- return x;
-}
-
-#else
-
-#include "../sqrtf.c"
-
-#endif
diff --git a/fusl/src/math/i386/__invtrigl.s b/fusl/src/math/i386/__invtrigl.s
deleted file mode 100644
index e69de29..0000000
--- a/fusl/src/math/i386/__invtrigl.s
+++ /dev/null
diff --git a/fusl/src/math/i386/acos.s b/fusl/src/math/i386/acos.s
deleted file mode 100644
index 47f365e..0000000
--- a/fusl/src/math/i386/acos.s
+++ /dev/null
@@ -1,28 +0,0 @@
-# use acos(x) = atan2(fabs(sqrt((1-x)*(1+x))), x)
-
-.global acosf
-.type acosf,@function
-acosf:
- flds 4(%esp)
- jmp 1f
-
-.global acosl
-.type acosl,@function
-acosl:
- fldt 4(%esp)
- jmp 1f
-
-.global acos
-.type acos,@function
-acos:
- fldl 4(%esp)
-1: fld %st(0)
- fld1
- fsub %st(0),%st(1)
- fadd %st(2)
- fmulp
- fsqrt
- fabs # fix sign of zero (matters in downward rounding mode)
- fxch %st(1)
- fpatan
- ret
diff --git a/fusl/src/math/i386/acosf.s b/fusl/src/math/i386/acosf.s
deleted file mode 100644
index 6c95509..0000000
--- a/fusl/src/math/i386/acosf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see acos.s
diff --git a/fusl/src/math/i386/acosl.s b/fusl/src/math/i386/acosl.s
deleted file mode 100644
index 6c95509..0000000
--- a/fusl/src/math/i386/acosl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see acos.s
diff --git a/fusl/src/math/i386/asin.s b/fusl/src/math/i386/asin.s
deleted file mode 100644
index a9f691b..0000000
--- a/fusl/src/math/i386/asin.s
+++ /dev/null
@@ -1,45 +0,0 @@
-.global asinf
-.type asinf,@function
-asinf:
- flds 4(%esp)
- mov 4(%esp),%eax
- add %eax,%eax
- cmp $0x01000000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 2f
- fld %st(0)
- fmul %st(1)
- fstps 4(%esp)
-2: ret
-
-.global asinl
-.type asinl,@function
-asinl:
- fldt 4(%esp)
- jmp 1f
-
-.global asin
-.type asin,@function
-asin:
- fldl 4(%esp)
- mov 8(%esp),%eax
- add %eax,%eax
- cmp $0x00200000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 2f
- fsts 4(%esp)
-2: ret
-1: fld %st(0)
- fld1
- fsub %st(0),%st(1)
- fadd %st(2)
- fmulp
- fsqrt
- fpatan
- ret
diff --git a/fusl/src/math/i386/asinf.s b/fusl/src/math/i386/asinf.s
deleted file mode 100644
index e07bf59..0000000
--- a/fusl/src/math/i386/asinf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see asin.s
diff --git a/fusl/src/math/i386/asinl.s b/fusl/src/math/i386/asinl.s
deleted file mode 100644
index e07bf59..0000000
--- a/fusl/src/math/i386/asinl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see asin.s
diff --git a/fusl/src/math/i386/atan.s b/fusl/src/math/i386/atan.s
deleted file mode 100644
index d73137b..0000000
--- a/fusl/src/math/i386/atan.s
+++ /dev/null
@@ -1,17 +0,0 @@
-.global atan
-.type atan,@function
-atan:
- fldl 4(%esp)
- mov 8(%esp),%eax
- add %eax,%eax
- cmp $0x00200000,%eax
- jb 1f
- fld1
- fpatan
- ret
- # subnormal x, return x with underflow
-1: fnstsw %ax
- and $16,%ax
- jnz 2f
- fsts 4(%esp)
-2: ret
diff --git a/fusl/src/math/i386/atan2.s b/fusl/src/math/i386/atan2.s
deleted file mode 100644
index a7d2979..0000000
--- a/fusl/src/math/i386/atan2.s
+++ /dev/null
@@ -1,17 +0,0 @@
-.global atan2
-.type atan2,@function
-atan2:
- fldl 4(%esp)
- fldl 12(%esp)
- fpatan
- fstl 4(%esp)
- mov 8(%esp),%eax
- add %eax,%eax
- cmp $0x00200000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 1f
- fsts 4(%esp)
-1: ret
diff --git a/fusl/src/math/i386/atan2f.s b/fusl/src/math/i386/atan2f.s
deleted file mode 100644
index 14b88ce..0000000
--- a/fusl/src/math/i386/atan2f.s
+++ /dev/null
@@ -1,19 +0,0 @@
-.global atan2f
-.type atan2f,@function
-atan2f:
- flds 4(%esp)
- flds 8(%esp)
- fpatan
- fsts 4(%esp)
- mov 4(%esp),%eax
- add %eax,%eax
- cmp $0x01000000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 1f
- fld %st(0)
- fmul %st(1)
- fstps 4(%esp)
-1: ret
diff --git a/fusl/src/math/i386/atan2l.s b/fusl/src/math/i386/atan2l.s
deleted file mode 100644
index adf6e10..0000000
--- a/fusl/src/math/i386/atan2l.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global atan2l
-.type atan2l,@function
-atan2l:
- fldt 4(%esp)
- fldt 16(%esp)
- fpatan
- ret
diff --git a/fusl/src/math/i386/atanf.s b/fusl/src/math/i386/atanf.s
deleted file mode 100644
index 8caddef..0000000
--- a/fusl/src/math/i386/atanf.s
+++ /dev/null
@@ -1,19 +0,0 @@
-.global atanf
-.type atanf,@function
-atanf:
- flds 4(%esp)
- mov 4(%esp),%eax
- add %eax,%eax
- cmp $0x01000000,%eax
- jb 1f
- fld1
- fpatan
- ret
- # subnormal x, return x with underflow
-1: fnstsw %ax
- and $16,%ax
- jnz 2f
- fld %st(0)
- fmul %st(1)
- fstps 4(%esp)
-2: ret
diff --git a/fusl/src/math/i386/atanl.s b/fusl/src/math/i386/atanl.s
deleted file mode 100644
index c508bc4..0000000
--- a/fusl/src/math/i386/atanl.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global atanl
-.type atanl,@function
-atanl:
- fldt 4(%esp)
- fld1
- fpatan
- ret
diff --git a/fusl/src/math/i386/ceil.s b/fusl/src/math/i386/ceil.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/ceil.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/ceilf.s b/fusl/src/math/i386/ceilf.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/ceilf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/ceill.s b/fusl/src/math/i386/ceill.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/ceill.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/exp.s b/fusl/src/math/i386/exp.s
deleted file mode 100644
index c7aa5b6..0000000
--- a/fusl/src/math/i386/exp.s
+++ /dev/null
@@ -1,152 +0,0 @@
-.global expm1f
-.type expm1f,@function
-expm1f:
- flds 4(%esp)
- mov 4(%esp),%eax
- add %eax,%eax
- cmp $0x01000000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 2f
- fld %st(0)
- fmul %st(1)
- fstps 4(%esp)
-2: ret
-
-.global expm1l
-.type expm1l,@function
-expm1l:
- fldt 4(%esp)
- jmp 1f
-
-.global expm1
-.type expm1,@function
-expm1:
- fldl 4(%esp)
- mov 8(%esp),%eax
- add %eax,%eax
- cmp $0x00200000,%eax
- jae 1f
- # subnormal x, return x with underflow
- fnstsw %ax
- and $16,%ax
- jnz 2f
- fsts 4(%esp)
-2: ret
-1: fldl2e
- fmulp
- mov $0xc2820000,%eax
- push %eax
- flds (%esp)
- pop %eax
- fucomp %st(1)
- fnstsw %ax
- sahf
- fld1
- jb 1f
- # x*log2e < -65, return -1 without underflow
- fstp %st(1)
- fchs
- ret
-1: fld %st(1)
- fabs
- fucom %st(1)
- fnstsw %ax
- fstp %st(0)
- fstp %st(0)
- sahf
- ja 1f
- f2xm1
- ret
-1: call 1f
- fld1
- fsubrp
- ret
-
-.global exp2f
-.type exp2f,@function
-exp2f:
- flds 4(%esp)
- jmp 1f
-
-.global exp2l
-.global __exp2l
-.hidden __exp2l
-.type exp2l,@function
-exp2l:
-__exp2l:
- fldt 4(%esp)
- jmp 1f
-
-.global expf
-.type expf,@function
-expf:
- flds 4(%esp)
- jmp 2f
-
-.global exp
-.type exp,@function
-exp:
- fldl 4(%esp)
-2: fldl2e
- fmulp
- jmp 1f
-
-.global exp2
-.type exp2,@function
-exp2:
- fldl 4(%esp)
-1: sub $12,%esp
- fld %st(0)
- fstpt (%esp)
- mov 8(%esp),%ax
- and $0x7fff,%ax
- cmp $0x3fff+13,%ax
- jb 4f # |x| < 8192
- cmp $0x3fff+15,%ax
- jae 3f # |x| >= 32768
- fsts (%esp)
- cmpl $0xc67ff800,(%esp)
- jb 2f # x > -16382
- movl $0x5f000000,(%esp)
- flds (%esp) # 0x1p63
- fld %st(1)
- fsub %st(1)
- faddp
- fucomp %st(1)
- fnstsw
- sahf
- je 2f # x - 0x1p63 + 0x1p63 == x
- movl $1,(%esp)
- flds (%esp) # 0x1p-149
- fdiv %st(1)
- fstps (%esp) # raise underflow
-2: fld1
- fld %st(1)
- frndint
- fxch %st(2)
- fsub %st(2) # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
- f2xm1
- faddp # 2^(x-rint(x))
-1: fscale
- fstp %st(1)
- add $12,%esp
- ret
-3: xor %eax,%eax
-4: cmp $0x3fff-64,%ax
- fld1
- jb 1b # |x| < 0x1p-64
- fstpt (%esp)
- fistl 8(%esp)
- fildl 8(%esp)
- fsubrp %st(1)
- addl $0x3fff,8(%esp)
- f2xm1
- fld1
- faddp # 2^(x-rint(x))
- fldt (%esp) # 2^rint(x)
- fmulp
- add $12,%esp
- ret
diff --git a/fusl/src/math/i386/exp2.s b/fusl/src/math/i386/exp2.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/exp2.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/exp2f.s b/fusl/src/math/i386/exp2f.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/exp2f.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/exp2l.s b/fusl/src/math/i386/exp2l.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/exp2l.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/expf.s b/fusl/src/math/i386/expf.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/expf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/expl.s b/fusl/src/math/i386/expl.s
deleted file mode 100644
index b5124e8..0000000
--- a/fusl/src/math/i386/expl.s
+++ /dev/null
@@ -1,101 +0,0 @@
-# exp(x) = 2^hi + 2^hi (2^lo - 1)
-# where hi+lo = log2e*x with 128bit precision
-# exact log2e*x calculation depends on nearest rounding mode
-# using the exact multiplication method of Dekker and Veltkamp
-
-.global expl
-.type expl,@function
-expl:
- fldt 4(%esp)
-
- # interesting case: 0x1p-32 <= |x| < 16384
- # check if (exponent|0x8000) is in [0xbfff-32, 0xbfff+13]
- mov 12(%esp), %ax
- or $0x8000, %ax
- sub $0xbfdf, %ax
- cmp $45, %ax
- jbe 2f
- test %ax, %ax
- fld1
- js 1f
- # if |x|>=0x1p14 or nan return 2^trunc(x)
- fscale
- fstp %st(1)
- ret
- # if |x|<0x1p-32 return 1+x
-1: faddp
- ret
-
- # should be 0x1.71547652b82fe178p0L == 0x3fff b8aa3b29 5c17f0bc
- # it will be wrong on non-nearest rounding mode
-2: fldl2e
- subl $44, %esp
- # hi = log2e_hi*x
- # 2^hi = exp2l(hi)
- fmul %st(1),%st
- fld %st(0)
- fstpt (%esp)
- fstpt 16(%esp)
- fstpt 32(%esp)
-.hidden __exp2l
- call __exp2l
- # if 2^hi == inf return 2^hi
- fld %st(0)
- fstpt (%esp)
- cmpw $0x7fff, 8(%esp)
- je 1f
- fldt 32(%esp)
- fldt 16(%esp)
- # fpu stack: 2^hi x hi
- # exact mult: x*log2e
- fld %st(1)
- # c = 0x1p32+1
- pushl $0x41f00000
- pushl $0x00100000
- fldl (%esp)
- # xh = x - c*x + c*x
- # xl = x - xh
- fmulp
- fld %st(2)
- fsub %st(1), %st
- faddp
- fld %st(2)
- fsub %st(1), %st
- # yh = log2e_hi - c*log2e_hi + c*log2e_hi
- pushl $0x3ff71547
- pushl $0x65200000
- fldl (%esp)
- # fpu stack: 2^hi x hi xh xl yh
- # lo = hi - xh*yh + xl*yh
- fld %st(2)
- fmul %st(1), %st
- fsubp %st, %st(4)
- fmul %st(1), %st
- faddp %st, %st(3)
- # yl = log2e_hi - yh
- pushl $0x3de705fc
- pushl $0x2f000000
- fldl (%esp)
- # fpu stack: 2^hi x lo xh xl yl
- # lo += xh*yl + xl*yl
- fmul %st, %st(2)
- fmulp %st, %st(1)
- fxch %st(2)
- faddp
- faddp
- # log2e_lo
- pushl $0xbfbe
- pushl $0x82f0025f
- pushl $0x2dc582ee
- fldt (%esp)
- addl $36,%esp
- # fpu stack: 2^hi x lo log2e_lo
- # lo += log2e_lo*x
- # return 2^hi + 2^hi (2^lo - 1)
- fmulp %st, %st(2)
- faddp
- f2xm1
- fmul %st(1), %st
- faddp
-1: addl $44, %esp
- ret
diff --git a/fusl/src/math/i386/expm1.s b/fusl/src/math/i386/expm1.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/expm1.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/expm1f.s b/fusl/src/math/i386/expm1f.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/expm1f.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/expm1l.s b/fusl/src/math/i386/expm1l.s
deleted file mode 100644
index f335a3e..0000000
--- a/fusl/src/math/i386/expm1l.s
+++ /dev/null
@@ -1 +0,0 @@
-# see exp.s
diff --git a/fusl/src/math/i386/fabs.s b/fusl/src/math/i386/fabs.s
deleted file mode 100644
index d66ea9a..0000000
--- a/fusl/src/math/i386/fabs.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global fabs
-.type fabs,@function
-fabs:
- fldl 4(%esp)
- fabs
- ret
diff --git a/fusl/src/math/i386/fabsf.s b/fusl/src/math/i386/fabsf.s
deleted file mode 100644
index a981c42..0000000
--- a/fusl/src/math/i386/fabsf.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global fabsf
-.type fabsf,@function
-fabsf:
- flds 4(%esp)
- fabs
- ret
diff --git a/fusl/src/math/i386/fabsl.s b/fusl/src/math/i386/fabsl.s
deleted file mode 100644
index ceef9e4..0000000
--- a/fusl/src/math/i386/fabsl.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global fabsl
-.type fabsl,@function
-fabsl:
- fldt 4(%esp)
- fabs
- ret
diff --git a/fusl/src/math/i386/floor.s b/fusl/src/math/i386/floor.s
deleted file mode 100644
index 46ba88d..0000000
--- a/fusl/src/math/i386/floor.s
+++ /dev/null
@@ -1,67 +0,0 @@
-.global floorf
-.type floorf,@function
-floorf:
- flds 4(%esp)
- jmp 1f
-
-.global floorl
-.type floorl,@function
-floorl:
- fldt 4(%esp)
- jmp 1f
-
-.global floor
-.type floor,@function
-floor:
- fldl 4(%esp)
-1: mov $0x7,%al
-1: fstcw 4(%esp)
- mov 5(%esp),%ah
- mov %al,5(%esp)
- fldcw 4(%esp)
- frndint
- mov %ah,5(%esp)
- fldcw 4(%esp)
- ret
-
-.global ceil
-.type ceil,@function
-ceil:
- fldl 4(%esp)
- mov $0xb,%al
- jmp 1b
-
-.global ceilf
-.type ceilf,@function
-ceilf:
- flds 4(%esp)
- mov $0xb,%al
- jmp 1b
-
-.global ceill
-.type ceill,@function
-ceill:
- fldt 4(%esp)
- mov $0xb,%al
- jmp 1b
-
-.global trunc
-.type trunc,@function
-trunc:
- fldl 4(%esp)
- mov $0xf,%al
- jmp 1b
-
-.global truncf
-.type truncf,@function
-truncf:
- flds 4(%esp)
- mov $0xf,%al
- jmp 1b
-
-.global truncl
-.type truncl,@function
-truncl:
- fldt 4(%esp)
- mov $0xf,%al
- jmp 1b
diff --git a/fusl/src/math/i386/floorf.s b/fusl/src/math/i386/floorf.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/floorf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/floorl.s b/fusl/src/math/i386/floorl.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/floorl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/fmod.s b/fusl/src/math/i386/fmod.s
deleted file mode 100644
index 2113b3c..0000000
--- a/fusl/src/math/i386/fmod.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.global fmod
-.type fmod,@function
-fmod:
- fldl 12(%esp)
- fldl 4(%esp)
-1: fprem
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/fmodf.s b/fusl/src/math/i386/fmodf.s
deleted file mode 100644
index e04e2a5..0000000
--- a/fusl/src/math/i386/fmodf.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.global fmodf
-.type fmodf,@function
-fmodf:
- flds 8(%esp)
- flds 4(%esp)
-1: fprem
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/fmodl.s b/fusl/src/math/i386/fmodl.s
deleted file mode 100644
index 0cb3fe9..0000000
--- a/fusl/src/math/i386/fmodl.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.global fmodl
-.type fmodl,@function
-fmodl:
- fldt 16(%esp)
- fldt 4(%esp)
-1: fprem
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/hypot.s b/fusl/src/math/i386/hypot.s
deleted file mode 100644
index 299c2e1..0000000
--- a/fusl/src/math/i386/hypot.s
+++ /dev/null
@@ -1,45 +0,0 @@
-.global hypot
-.type hypot,@function
-hypot:
- mov 8(%esp),%eax
- mov 16(%esp),%ecx
- add %eax,%eax
- add %ecx,%ecx
- and %eax,%ecx
- cmp $0xffe00000,%ecx
- jae 2f
- or 4(%esp),%eax
- jnz 1f
- fldl 12(%esp)
- fabs
- ret
-1: mov 16(%esp),%eax
- add %eax,%eax
- or 12(%esp),%eax
- jnz 1f
- fldl 4(%esp)
- fabs
- ret
-1: fldl 4(%esp)
- fld %st(0)
- fmulp
- fldl 12(%esp)
- fld %st(0)
- fmulp
- faddp
- fsqrt
- ret
-2: sub $0xffe00000,%eax
- or 4(%esp),%eax
- jnz 1f
- fldl 4(%esp)
- fabs
- ret
-1: mov 16(%esp),%eax
- add %eax,%eax
- sub $0xffe00000,%eax
- or 12(%esp),%eax
- fldl 12(%esp)
- jnz 1f
- fabs
-1: ret
diff --git a/fusl/src/math/i386/hypotf.s b/fusl/src/math/i386/hypotf.s
deleted file mode 100644
index 068935e..0000000
--- a/fusl/src/math/i386/hypotf.s
+++ /dev/null
@@ -1,42 +0,0 @@
-.global hypotf
-.type hypotf,@function
-hypotf:
- mov 4(%esp),%eax
- mov 8(%esp),%ecx
- add %eax,%eax
- add %ecx,%ecx
- and %eax,%ecx
- cmp $0xff000000,%ecx
- jae 2f
- test %eax,%eax
- jnz 1f
- flds 8(%esp)
- fabs
- ret
-1: mov 8(%esp),%eax
- add %eax,%eax
- jnz 1f
- flds 4(%esp)
- fabs
- ret
-1: flds 4(%esp)
- fld %st(0)
- fmulp
- flds 8(%esp)
- fld %st(0)
- fmulp
- faddp
- fsqrt
- ret
-2: cmp $0xff000000,%eax
- jnz 1f
- flds 4(%esp)
- fabs
- ret
-1: mov 8(%esp),%eax
- add %eax,%eax
- cmp $0xff000000,%eax
- flds 8(%esp)
- jnz 1f
- fabs
-1: ret
diff --git a/fusl/src/math/i386/ldexp.s b/fusl/src/math/i386/ldexp.s
deleted file mode 100644
index c430f78..0000000
--- a/fusl/src/math/i386/ldexp.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbn.s
diff --git a/fusl/src/math/i386/ldexpf.s b/fusl/src/math/i386/ldexpf.s
deleted file mode 100644
index 3f8e4b9..0000000
--- a/fusl/src/math/i386/ldexpf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbnf.s
diff --git a/fusl/src/math/i386/ldexpl.s b/fusl/src/math/i386/ldexpl.s
deleted file mode 100644
index 86fe562..0000000
--- a/fusl/src/math/i386/ldexpl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbnl.s
diff --git a/fusl/src/math/i386/llrint.s b/fusl/src/math/i386/llrint.s
deleted file mode 100644
index 8e89cd9..0000000
--- a/fusl/src/math/i386/llrint.s
+++ /dev/null
@@ -1,8 +0,0 @@
-.global llrint
-.type llrint,@function
-llrint:
- fldl 4(%esp)
- fistpll 4(%esp)
- mov 4(%esp),%eax
- mov 8(%esp),%edx
- ret
diff --git a/fusl/src/math/i386/llrintf.s b/fusl/src/math/i386/llrintf.s
deleted file mode 100644
index aa850c6..0000000
--- a/fusl/src/math/i386/llrintf.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.global llrintf
-.type llrintf,@function
-llrintf:
- sub $8,%esp
- flds 12(%esp)
- fistpll (%esp)
- pop %eax
- pop %edx
- ret
diff --git a/fusl/src/math/i386/llrintl.s b/fusl/src/math/i386/llrintl.s
deleted file mode 100644
index 1cfb56f..0000000
--- a/fusl/src/math/i386/llrintl.s
+++ /dev/null
@@ -1,8 +0,0 @@
-.global llrintl
-.type llrintl,@function
-llrintl:
- fldt 4(%esp)
- fistpll 4(%esp)
- mov 4(%esp),%eax
- mov 8(%esp),%edx
- ret
diff --git a/fusl/src/math/i386/log.s b/fusl/src/math/i386/log.s
deleted file mode 100644
index fcccf03..0000000
--- a/fusl/src/math/i386/log.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log
-.type log,@function
-log:
- fldln2
- fldl 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log10.s b/fusl/src/math/i386/log10.s
deleted file mode 100644
index 28eb5b2..0000000
--- a/fusl/src/math/i386/log10.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log10
-.type log10,@function
-log10:
- fldlg2
- fldl 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log10f.s b/fusl/src/math/i386/log10f.s
deleted file mode 100644
index c0c0c67..0000000
--- a/fusl/src/math/i386/log10f.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log10f
-.type log10f,@function
-log10f:
- fldlg2
- flds 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log10l.s b/fusl/src/math/i386/log10l.s
deleted file mode 100644
index aaa44f2..0000000
--- a/fusl/src/math/i386/log10l.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log10l
-.type log10l,@function
-log10l:
- fldlg2
- fldt 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log1p.s b/fusl/src/math/i386/log1p.s
deleted file mode 100644
index 6b6929c..0000000
--- a/fusl/src/math/i386/log1p.s
+++ /dev/null
@@ -1,24 +0,0 @@
-.global log1p
-.type log1p,@function
-log1p:
- mov 8(%esp),%eax
- fldln2
- and $0x7fffffff,%eax
- fldl 4(%esp)
- cmp $0x3fd28f00,%eax
- ja 1f
- cmp $0x00100000,%eax
- jb 2f
- fyl2xp1
- ret
-1: fld1
- faddp
- fyl2x
- ret
- # subnormal x, return x with underflow
-2: fnstsw %ax
- and $16,%ax
- jnz 1f
- fsts 4(%esp)
- fstp %st(1)
-1: ret
diff --git a/fusl/src/math/i386/log1pf.s b/fusl/src/math/i386/log1pf.s
deleted file mode 100644
index c0bcd30..0000000
--- a/fusl/src/math/i386/log1pf.s
+++ /dev/null
@@ -1,25 +0,0 @@
-.global log1pf
-.type log1pf,@function
-log1pf:
- mov 4(%esp),%eax
- fldln2
- and $0x7fffffff,%eax
- flds 4(%esp)
- cmp $0x3e940000,%eax
- ja 1f
- cmp $0x00800000,%eax
- jb 2f
- fyl2xp1
- ret
-1: fld1
- faddp
- fyl2x
- ret
- # subnormal x, return x with underflow
-2: fnstsw %ax
- and $16,%ax
- jnz 1f
- fxch
- fmul %st(1)
- fstps 4(%esp)
-1: ret
diff --git a/fusl/src/math/i386/log1pl.s b/fusl/src/math/i386/log1pl.s
deleted file mode 100644
index a048ab6..0000000
--- a/fusl/src/math/i386/log1pl.s
+++ /dev/null
@@ -1,15 +0,0 @@
-.global log1pl
-.type log1pl,@function
-log1pl:
- mov 10(%esp),%eax
- fldln2
- and $0x7fffffff,%eax
- fldt 4(%esp)
- cmp $0x3ffd9400,%eax
- ja 1f
- fyl2xp1
- ret
-1: fld1
- faddp
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log2.s b/fusl/src/math/i386/log2.s
deleted file mode 100644
index 1508803..0000000
--- a/fusl/src/math/i386/log2.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log2
-.type log2,@function
-log2:
- fld1
- fldl 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log2f.s b/fusl/src/math/i386/log2f.s
deleted file mode 100644
index 00cdce7..0000000
--- a/fusl/src/math/i386/log2f.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log2f
-.type log2f,@function
-log2f:
- fld1
- flds 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/log2l.s b/fusl/src/math/i386/log2l.s
deleted file mode 100644
index c58f56f..0000000
--- a/fusl/src/math/i386/log2l.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global log2l
-.type log2l,@function
-log2l:
- fld1
- fldt 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/logf.s b/fusl/src/math/i386/logf.s
deleted file mode 100644
index da7ff3a..0000000
--- a/fusl/src/math/i386/logf.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global logf
-.type logf,@function
-logf:
- fldln2
- flds 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/logl.s b/fusl/src/math/i386/logl.s
deleted file mode 100644
index d4e3339..0000000
--- a/fusl/src/math/i386/logl.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global logl
-.type logl,@function
-logl:
- fldln2
- fldt 4(%esp)
- fyl2x
- ret
diff --git a/fusl/src/math/i386/lrint.s b/fusl/src/math/i386/lrint.s
deleted file mode 100644
index 02b83d9..0000000
--- a/fusl/src/math/i386/lrint.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global lrint
-.type lrint,@function
-lrint:
- fldl 4(%esp)
- fistpl 4(%esp)
- mov 4(%esp),%eax
- ret
diff --git a/fusl/src/math/i386/lrintf.s b/fusl/src/math/i386/lrintf.s
deleted file mode 100644
index 907aac2..0000000
--- a/fusl/src/math/i386/lrintf.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global lrintf
-.type lrintf,@function
-lrintf:
- flds 4(%esp)
- fistpl 4(%esp)
- mov 4(%esp),%eax
- ret
diff --git a/fusl/src/math/i386/lrintl.s b/fusl/src/math/i386/lrintl.s
deleted file mode 100644
index 3ae05aa..0000000
--- a/fusl/src/math/i386/lrintl.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global lrintl
-.type lrintl,@function
-lrintl:
- fldt 4(%esp)
- fistpl 4(%esp)
- mov 4(%esp),%eax
- ret
diff --git a/fusl/src/math/i386/remainder.s b/fusl/src/math/i386/remainder.s
deleted file mode 100644
index ab1da95..0000000
--- a/fusl/src/math/i386/remainder.s
+++ /dev/null
@@ -1,14 +0,0 @@
-.global remainder
-.type remainder,@function
-remainder:
-.weak drem
-.type drem,@function
-drem:
- fldl 12(%esp)
- fldl 4(%esp)
-1: fprem1
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/remainderf.s b/fusl/src/math/i386/remainderf.s
deleted file mode 100644
index 6a7378a..0000000
--- a/fusl/src/math/i386/remainderf.s
+++ /dev/null
@@ -1,14 +0,0 @@
-.global remainderf
-.type remainderf,@function
-remainderf:
-.weak dremf
-.type dremf,@function
-dremf:
- flds 8(%esp)
- flds 4(%esp)
-1: fprem1
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/remainderl.s b/fusl/src/math/i386/remainderl.s
deleted file mode 100644
index b41518e..0000000
--- a/fusl/src/math/i386/remainderl.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.global remainderl
-.type remainderl,@function
-remainderl:
- fldt 16(%esp)
- fldt 4(%esp)
-1: fprem1
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/remquo.s b/fusl/src/math/i386/remquo.s
deleted file mode 100644
index 598e754..0000000
--- a/fusl/src/math/i386/remquo.s
+++ /dev/null
@@ -1,50 +0,0 @@
-.global remquof
-.type remquof,@function
-remquof:
- mov 12(%esp),%ecx
- flds 8(%esp)
- flds 4(%esp)
- mov 11(%esp),%dh
- xor 7(%esp),%dh
- jmp 1f
-
-.global remquol
-.type remquol,@function
-remquol:
- mov 28(%esp),%ecx
- fldt 16(%esp)
- fldt 4(%esp)
- mov 25(%esp),%dh
- xor 13(%esp),%dh
- jmp 1f
-
-.global remquo
-.type remquo,@function
-remquo:
- mov 20(%esp),%ecx
- fldl 12(%esp)
- fldl 4(%esp)
- mov 19(%esp),%dh
- xor 11(%esp),%dh
-1: fprem1
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- mov %ah,%dl
- shr %dl
- and $1,%dl
- mov %ah,%al
- shr $5,%al
- and $2,%al
- or %al,%dl
- mov %ah,%al
- shl $2,%al
- and $4,%al
- or %al,%dl
- test %dh,%dh
- jns 1f
- neg %dl
-1: movsbl %dl,%edx
- mov %edx,(%ecx)
- ret
diff --git a/fusl/src/math/i386/remquof.s b/fusl/src/math/i386/remquof.s
deleted file mode 100644
index 511a6bc..0000000
--- a/fusl/src/math/i386/remquof.s
+++ /dev/null
@@ -1 +0,0 @@
-# see remquo.s
diff --git a/fusl/src/math/i386/remquol.s b/fusl/src/math/i386/remquol.s
deleted file mode 100644
index 511a6bc..0000000
--- a/fusl/src/math/i386/remquol.s
+++ /dev/null
@@ -1 +0,0 @@
-# see remquo.s
diff --git a/fusl/src/math/i386/rint.s b/fusl/src/math/i386/rint.s
deleted file mode 100644
index bb99a11..0000000
--- a/fusl/src/math/i386/rint.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global rint
-.type rint,@function
-rint:
- fldl 4(%esp)
- frndint
- ret
diff --git a/fusl/src/math/i386/rintf.s b/fusl/src/math/i386/rintf.s
deleted file mode 100644
index bce4c5a..0000000
--- a/fusl/src/math/i386/rintf.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global rintf
-.type rintf,@function
-rintf:
- flds 4(%esp)
- frndint
- ret
diff --git a/fusl/src/math/i386/rintl.s b/fusl/src/math/i386/rintl.s
deleted file mode 100644
index cd2bf9a..0000000
--- a/fusl/src/math/i386/rintl.s
+++ /dev/null
@@ -1,6 +0,0 @@
-.global rintl
-.type rintl,@function
-rintl:
- fldt 4(%esp)
- frndint
- ret
diff --git a/fusl/src/math/i386/scalbln.s b/fusl/src/math/i386/scalbln.s
deleted file mode 100644
index c430f78..0000000
--- a/fusl/src/math/i386/scalbln.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbn.s
diff --git a/fusl/src/math/i386/scalblnf.s b/fusl/src/math/i386/scalblnf.s
deleted file mode 100644
index 3f8e4b9..0000000
--- a/fusl/src/math/i386/scalblnf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbnf.s
diff --git a/fusl/src/math/i386/scalblnl.s b/fusl/src/math/i386/scalblnl.s
deleted file mode 100644
index 86fe562..0000000
--- a/fusl/src/math/i386/scalblnl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see scalbnl.s
diff --git a/fusl/src/math/i386/scalbn.s b/fusl/src/math/i386/scalbn.s
deleted file mode 100644
index 8bf302f..0000000
--- a/fusl/src/math/i386/scalbn.s
+++ /dev/null
@@ -1,33 +0,0 @@
-.global ldexp
-.type ldexp,@function
-ldexp:
- nop
-
-.global scalbln
-.type scalbln,@function
-scalbln:
- nop
-
-.global scalbn
-.type scalbn,@function
-scalbn:
- mov 12(%esp),%eax
- add $0x3ffe,%eax
- cmp $0x7ffd,%eax
- jb 1f
- sub $0x3ffe,%eax
- sar $31,%eax
- xor $0xfff,%eax
- add $0x3ffe,%eax
-1: inc %eax
- fldl 4(%esp)
- mov %eax,12(%esp)
- mov $0x80000000,%eax
- mov %eax,8(%esp)
- xor %eax,%eax
- mov %eax,4(%esp)
- fldt 4(%esp)
- fmulp
- fstpl 4(%esp)
- fldl 4(%esp)
- ret
diff --git a/fusl/src/math/i386/scalbnf.s b/fusl/src/math/i386/scalbnf.s
deleted file mode 100644
index 9cb9ef5..0000000
--- a/fusl/src/math/i386/scalbnf.s
+++ /dev/null
@@ -1,32 +0,0 @@
-.global ldexpf
-.type ldexpf,@function
-ldexpf:
- nop
-
-.global scalblnf
-.type scalblnf,@function
-scalblnf:
- nop
-
-.global scalbnf
-.type scalbnf,@function
-scalbnf:
- mov 8(%esp),%eax
- add $0x3fe,%eax
- cmp $0x7fd,%eax
- jb 1f
- sub $0x3fe,%eax
- sar $31,%eax
- xor $0x1ff,%eax
- add $0x3fe,%eax
-1: inc %eax
- shl $20,%eax
- flds 4(%esp)
- mov %eax,8(%esp)
- xor %eax,%eax
- mov %eax,4(%esp)
- fldl 4(%esp)
- fmulp
- fstps 4(%esp)
- flds 4(%esp)
- ret
diff --git a/fusl/src/math/i386/scalbnl.s b/fusl/src/math/i386/scalbnl.s
deleted file mode 100644
index 54414c2..0000000
--- a/fusl/src/math/i386/scalbnl.s
+++ /dev/null
@@ -1,32 +0,0 @@
-.global ldexpl
-.type ldexpl,@function
-ldexpl:
- nop
-
-.global scalblnl
-.type scalblnl,@function
-scalblnl:
- nop
-
-.global scalbnl
-.type scalbnl,@function
-scalbnl:
- mov 16(%esp),%eax
- add $0x3ffe,%eax
- cmp $0x7ffd,%eax
- jae 1f
- inc %eax
- fldt 4(%esp)
- mov %eax,12(%esp)
- mov $0x80000000,%eax
- mov %eax,8(%esp)
- xor %eax,%eax
- mov %eax,4(%esp)
- fldt 4(%esp)
- fmulp
- ret
-1: fildl 16(%esp)
- fldt 4(%esp)
- fscale
- fstp %st(1)
- ret
diff --git a/fusl/src/math/i386/sqrt.s b/fusl/src/math/i386/sqrt.s
deleted file mode 100644
index 57837e2..0000000
--- a/fusl/src/math/i386/sqrt.s
+++ /dev/null
@@ -1,21 +0,0 @@
-.global sqrt
-.type sqrt,@function
-sqrt: fldl 4(%esp)
- fsqrt
- fnstsw %ax
- sub $12,%esp
- fld %st(0)
- fstpt (%esp)
- mov (%esp),%ecx
- and $0x7ff,%ecx
- cmp $0x400,%ecx
- jnz 1f
- and $0x200,%eax
- sub $0x100,%eax
- sub %eax,(%esp)
- fstp %st(0)
- fldt (%esp)
-1: add $12,%esp
- fstpl 4(%esp)
- fldl 4(%esp)
- ret
diff --git a/fusl/src/math/i386/sqrtf.s b/fusl/src/math/i386/sqrtf.s
deleted file mode 100644
index 9e944f4..0000000
--- a/fusl/src/math/i386/sqrtf.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global sqrtf
-.type sqrtf,@function
-sqrtf: flds 4(%esp)
- fsqrt
- fstps 4(%esp)
- flds 4(%esp)
- ret
diff --git a/fusl/src/math/i386/sqrtl.s b/fusl/src/math/i386/sqrtl.s
deleted file mode 100644
index e0d4261..0000000
--- a/fusl/src/math/i386/sqrtl.s
+++ /dev/null
@@ -1,5 +0,0 @@
-.global sqrtl
-.type sqrtl,@function
-sqrtl: fldt 4(%esp)
- fsqrt
- ret
diff --git a/fusl/src/math/i386/trunc.s b/fusl/src/math/i386/trunc.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/trunc.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/truncf.s b/fusl/src/math/i386/truncf.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/truncf.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/math/i386/truncl.s b/fusl/src/math/i386/truncl.s
deleted file mode 100644
index bc29f15..0000000
--- a/fusl/src/math/i386/truncl.s
+++ /dev/null
@@ -1 +0,0 @@
-# see floor.s
diff --git a/fusl/src/process/i386/vfork.s b/fusl/src/process/i386/vfork.s
deleted file mode 100644
index fadca20..0000000
--- a/fusl/src/process/i386/vfork.s
+++ /dev/null
@@ -1,14 +0,0 @@
-.global __vfork
-.weak vfork
-.type __vfork,@function
-.type vfork,@function
-__vfork:
-vfork:
- pop %edx
- mov $190,%eax
- int $128
- push %edx
- push %eax
- call __syscall_ret
- pop %edx
- ret
diff --git a/fusl/src/setjmp/arm/longjmp.s b/fusl/src/setjmp/arm/longjmp.s
deleted file mode 100644
index e28d8f3..0000000
--- a/fusl/src/setjmp/arm/longjmp.s
+++ /dev/null
@@ -1,40 +0,0 @@
-.syntax unified
-.global _longjmp
-.global longjmp
-.type _longjmp,%function
-.type longjmp,%function
-_longjmp:
-longjmp:
- mov ip,r0
- movs r0,r1
- moveq r0,#1
- ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp,sp,lr}
-
- adr r1,1f
- ldr r2,1f
- ldr r1,[r1,r2]
-
- tst r1,#0x260
- beq 3f
- tst r1,#0x20
- beq 2f
- ldc p2, cr4, [ip], #48
-2: tst r1,#0x40
- beq 2f
- .fpu vfp
- vldmia ip!, {d8-d15}
- .fpu softvfp
- .eabi_attribute 10, 0
- .eabi_attribute 27, 0
-2: tst r1,#0x200
- beq 3f
- ldcl p1, cr10, [ip], #8
- ldcl p1, cr11, [ip], #8
- ldcl p1, cr12, [ip], #8
- ldcl p1, cr13, [ip], #8
- ldcl p1, cr14, [ip], #8
- ldcl p1, cr15, [ip], #8
-3: bx lr
-
-.hidden __hwcap
-1: .word __hwcap-1b
diff --git a/fusl/src/setjmp/arm/setjmp.s b/fusl/src/setjmp/arm/setjmp.s
deleted file mode 100644
index 8779163..0000000
--- a/fusl/src/setjmp/arm/setjmp.s
+++ /dev/null
@@ -1,42 +0,0 @@
-.syntax unified
-.global __setjmp
-.global _setjmp
-.global setjmp
-.type __setjmp,%function
-.type _setjmp,%function
-.type setjmp,%function
-__setjmp:
-_setjmp:
-setjmp:
- mov ip,r0
- stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp,sp,lr}
- mov r0,#0
-
- adr r1,1f
- ldr r2,1f
- ldr r1,[r1,r2]
-
- tst r1,#0x260
- beq 3f
- tst r1,#0x20
- beq 2f
- stc p2, cr4, [ip], #48
-2: tst r1,#0x40
- beq 2f
- .fpu vfp
- vstmia ip!, {d8-d15}
- .fpu softvfp
- .eabi_attribute 10, 0
- .eabi_attribute 27, 0
-2: tst r1,#0x200
- beq 3f
- stcl p1, cr10, [ip], #8
- stcl p1, cr11, [ip], #8
- stcl p1, cr12, [ip], #8
- stcl p1, cr13, [ip], #8
- stcl p1, cr14, [ip], #8
- stcl p1, cr15, [ip], #8
-3: bx lr
-
-.hidden __hwcap
-1: .word __hwcap-1b
diff --git a/fusl/src/setjmp/i386/longjmp.s b/fusl/src/setjmp/i386/longjmp.s
deleted file mode 100644
index 772d28d..0000000
--- a/fusl/src/setjmp/i386/longjmp.s
+++ /dev/null
@@ -1,20 +0,0 @@
-.global _longjmp
-.global longjmp
-.type _longjmp,@function
-.type longjmp,@function
-_longjmp:
-longjmp:
- mov 4(%esp),%edx
- mov 8(%esp),%eax
- test %eax,%eax
- jnz 1f
- inc %eax
-1:
- mov (%edx),%ebx
- mov 4(%edx),%esi
- mov 8(%edx),%edi
- mov 12(%edx),%ebp
- mov 16(%edx),%ecx
- mov %ecx,%esp
- mov 20(%edx),%ecx
- jmp *%ecx
diff --git a/fusl/src/setjmp/i386/setjmp.s b/fusl/src/setjmp/i386/setjmp.s
deleted file mode 100644
index 4d19cf8..0000000
--- a/fusl/src/setjmp/i386/setjmp.s
+++ /dev/null
@@ -1,23 +0,0 @@
-.global ___setjmp
-.hidden ___setjmp
-.global __setjmp
-.global _setjmp
-.global setjmp
-.type __setjmp,@function
-.type _setjmp,@function
-.type setjmp,@function
-___setjmp:
-__setjmp:
-_setjmp:
-setjmp:
- mov 4(%esp), %eax
- mov %ebx, (%eax)
- mov %esi, 4(%eax)
- mov %edi, 8(%eax)
- mov %ebp, 12(%eax)
- lea 4(%esp), %ecx
- mov %ecx, 16(%eax)
- mov (%esp), %ecx
- mov %ecx, 20(%eax)
- xor %eax, %eax
- ret
diff --git a/fusl/src/setjmp/mips/longjmp.s b/fusl/src/setjmp/mips/longjmp.s
deleted file mode 100644
index fdb6c95..0000000
--- a/fusl/src/setjmp/mips/longjmp.s
+++ /dev/null
@@ -1,40 +0,0 @@
-.set noreorder
-
-.global _longjmp
-.global longjmp
-.type _longjmp,@function
-.type longjmp,@function
-_longjmp:
-longjmp:
- move $2, $5
- bne $2, $0, 1f
- nop
- addu $2, $2, 1
-1:
-#ifndef __mips_soft_float
- lwc1 $20, 56($4)
- lwc1 $21, 60($4)
- lwc1 $22, 64($4)
- lwc1 $23, 68($4)
- lwc1 $24, 72($4)
- lwc1 $25, 76($4)
- lwc1 $26, 80($4)
- lwc1 $27, 84($4)
- lwc1 $28, 88($4)
- lwc1 $29, 92($4)
- lwc1 $30, 96($4)
- lwc1 $31, 100($4)
-#endif
- lw $ra, 0($4)
- lw $sp, 4($4)
- lw $16, 8($4)
- lw $17, 12($4)
- lw $18, 16($4)
- lw $19, 20($4)
- lw $20, 24($4)
- lw $21, 28($4)
- lw $22, 32($4)
- lw $23, 36($4)
- lw $30, 40($4)
- jr $ra
- lw $28, 44($4)
diff --git a/fusl/src/setjmp/mips/setjmp.s b/fusl/src/setjmp/mips/setjmp.s
deleted file mode 100644
index 501d526..0000000
--- a/fusl/src/setjmp/mips/setjmp.s
+++ /dev/null
@@ -1,39 +0,0 @@
-.set noreorder
-
-.global __setjmp
-.global _setjmp
-.global setjmp
-.type __setjmp,@function
-.type _setjmp,@function
-.type setjmp,@function
-__setjmp:
-_setjmp:
-setjmp:
- sw $ra, 0($4)
- sw $sp, 4($4)
- sw $16, 8($4)
- sw $17, 12($4)
- sw $18, 16($4)
- sw $19, 20($4)
- sw $20, 24($4)
- sw $21, 28($4)
- sw $22, 32($4)
- sw $23, 36($4)
- sw $30, 40($4)
- sw $28, 44($4)
-#ifndef __mips_soft_float
- swc1 $20, 56($4)
- swc1 $21, 60($4)
- swc1 $22, 64($4)
- swc1 $23, 68($4)
- swc1 $24, 72($4)
- swc1 $25, 76($4)
- swc1 $26, 80($4)
- swc1 $27, 84($4)
- swc1 $28, 88($4)
- swc1 $29, 92($4)
- swc1 $30, 96($4)
- swc1 $31, 100($4)
-#endif
- jr $ra
- li $2, 0
diff --git a/fusl/src/setjmp/powerpc/longjmp.s b/fusl/src/setjmp/powerpc/longjmp.s
deleted file mode 100644
index bab1751..0000000
--- a/fusl/src/setjmp/powerpc/longjmp.s
+++ /dev/null
@@ -1,65 +0,0 @@
- .global _longjmp
- .global longjmp
- .type _longjmp,@function
- .type longjmp,@function
-_longjmp:
-longjmp:
-# void longjmp(jmp_buf env, int val);
-# put val into return register and restore the env saved in setjmp
-# if val(r4) is 0, put 1 there.
- # 0) move old return address into r0
- lwz 0, 0(3)
- # 1) put it into link reg
- mtlr 0
- #2 ) restore stack ptr
- lwz 1, 4(3)
- #3) restore control reg
- lwz 0, 8(3)
- mtcr 0
- #4) restore r14-r31
- lwz 14, 12(3)
- lwz 15, 16(3)
- lwz 16, 20(3)
- lwz 17, 24(3)
- lwz 18, 28(3)
- lwz 19, 32(3)
- lwz 20, 36(3)
- lwz 21, 40(3)
- lwz 22, 44(3)
- lwz 23, 48(3)
- lwz 24, 52(3)
- lwz 25, 56(3)
- lwz 26, 60(3)
- lwz 27, 64(3)
- lwz 28, 68(3)
- lwz 29, 72(3)
- lwz 30, 76(3)
- lwz 31, 80(3)
- lfd 14,88(3)
- lfd 15,96(3)
- lfd 16,104(3)
- lfd 17,112(3)
- lfd 18,120(3)
- lfd 19,128(3)
- lfd 20,136(3)
- lfd 21,144(3)
- lfd 22,152(3)
- lfd 23,160(3)
- lfd 24,168(3)
- lfd 25,176(3)
- lfd 26,184(3)
- lfd 27,192(3)
- lfd 28,200(3)
- lfd 29,208(3)
- lfd 30,216(3)
- lfd 31,224(3)
- #5) put val into return reg r3
- mr 3, 4
-
- #6) check if return value is 0, make it 1 in that case
- cmpwi cr7, 4, 0
- bne cr7, 1f
- li 3, 1
-1:
- blr
-
diff --git a/fusl/src/setjmp/powerpc/setjmp.s b/fusl/src/setjmp/powerpc/setjmp.s
deleted file mode 100644
index 122177f..0000000
--- a/fusl/src/setjmp/powerpc/setjmp.s
+++ /dev/null
@@ -1,61 +0,0 @@
- .global ___setjmp
- .hidden ___setjmp
- .global __setjmp
- .global _setjmp
- .global setjmp
- .type __setjmp,@function
- .type _setjmp,@function
- .type setjmp,@function
-___setjmp:
-__setjmp:
-_setjmp:
-setjmp:
- # 0) store IP int 0, then into the jmpbuf pointed to by r3 (first arg)
- mflr 0
- stw 0, 0(3)
- # 1) store reg1 (SP)
- stw 1, 4(3)
- # 2) store cr
- mfcr 0
- stw 0, 8(3)
- # 3) store r14-31
- stw 14, 12(3)
- stw 15, 16(3)
- stw 16, 20(3)
- stw 17, 24(3)
- stw 18, 28(3)
- stw 19, 32(3)
- stw 20, 36(3)
- stw 21, 40(3)
- stw 22, 44(3)
- stw 23, 48(3)
- stw 24, 52(3)
- stw 25, 56(3)
- stw 26, 60(3)
- stw 27, 64(3)
- stw 28, 68(3)
- stw 29, 72(3)
- stw 30, 76(3)
- stw 31, 80(3)
- stfd 14,88(3)
- stfd 15,96(3)
- stfd 16,104(3)
- stfd 17,112(3)
- stfd 18,120(3)
- stfd 19,128(3)
- stfd 20,136(3)
- stfd 21,144(3)
- stfd 22,152(3)
- stfd 23,160(3)
- stfd 24,168(3)
- stfd 25,176(3)
- stfd 26,184(3)
- stfd 27,192(3)
- stfd 28,200(3)
- stfd 29,208(3)
- stfd 30,216(3)
- stfd 31,224(3)
- # 4) set return value to 0
- li 3, 0
- # 5) return
- blr
diff --git a/fusl/src/signal/arm/restore.s b/fusl/src/signal/arm/restore.s
deleted file mode 100644
index 22fb1a5..0000000
--- a/fusl/src/signal/arm/restore.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.syntax unified
-
-.global __restore
-.type __restore,%function
-__restore:
- mov r7,#119
- swi 0x0
-
-.global __restore_rt
-.type __restore_rt,%function
-__restore_rt:
- mov r7,#173
- swi 0x0
diff --git a/fusl/src/signal/arm/sigsetjmp.s b/fusl/src/signal/arm/sigsetjmp.s
deleted file mode 100644
index 318addb..0000000
--- a/fusl/src/signal/arm/sigsetjmp.s
+++ /dev/null
@@ -1,23 +0,0 @@
-.syntax unified
-.global sigsetjmp
-.global __sigsetjmp
-.type sigsetjmp,%function
-.type __sigsetjmp,%function
-sigsetjmp:
-__sigsetjmp:
- tst r1,r1
- beq setjmp
-
- str lr,[r0,#256]
- str r4,[r0,#260+8]
- mov r4,r0
-
- bl setjmp
-
- mov r1,r0
- mov r0,r4
- ldr lr,[r0,#256]
- ldr r4,[r0,#260+8]
-
-.hidden __sigsetjmp_tail
- b __sigsetjmp_tail
diff --git a/fusl/src/signal/i386/restore.s b/fusl/src/signal/i386/restore.s
deleted file mode 100644
index a30b69c..0000000
--- a/fusl/src/signal/i386/restore.s
+++ /dev/null
@@ -1,12 +0,0 @@
-.global __restore
-.type __restore,@function
-__restore:
- popl %eax
- movl $119, %eax
- int $0x80
-
-.global __restore_rt
-.type __restore_rt,@function
-__restore_rt:
- movl $173, %eax
- int $0x80
diff --git a/fusl/src/signal/i386/sigsetjmp.s b/fusl/src/signal/i386/sigsetjmp.s
deleted file mode 100644
index 690b251..0000000
--- a/fusl/src/signal/i386/sigsetjmp.s
+++ /dev/null
@@ -1,26 +0,0 @@
-.global sigsetjmp
-.global __sigsetjmp
-.type sigsetjmp,@function
-.type __sigsetjmp,@function
-sigsetjmp:
-__sigsetjmp:
- mov 8(%esp),%ecx
- jecxz 1f
-
- mov 4(%esp),%eax
- popl 24(%eax)
- mov %ebx,28+8(%eax)
- mov %eax,%ebx
-
-.hidden ___setjmp
- call ___setjmp
-
- pushl 24(%ebx)
- mov %ebx,4(%esp)
- mov %eax,8(%esp)
- mov 28+8(%ebx),%ebx
-
-.hidden __sigsetjmp_tail
- jmp __sigsetjmp_tail
-
-1: jmp ___setjmp
diff --git a/fusl/src/signal/mips/restore.s b/fusl/src/signal/mips/restore.s
deleted file mode 100644
index 5c22dd4..0000000
--- a/fusl/src/signal/mips/restore.s
+++ /dev/null
@@ -1,13 +0,0 @@
-.set noreorder
-
-.global __restore_rt
-.type __restore_rt,@function
-__restore_rt:
- li $2, 4193
- syscall
-
-.global __restore
-.type __restore,@function
-__restore:
- li $2, 4119
- syscall
diff --git a/fusl/src/signal/mips/sigsetjmp.s b/fusl/src/signal/mips/sigsetjmp.s
deleted file mode 100644
index 74b65ff..0000000
--- a/fusl/src/signal/mips/sigsetjmp.s
+++ /dev/null
@@ -1,33 +0,0 @@
-.set noreorder
-
-.global sigsetjmp
-.global __sigsetjmp
-.type sigsetjmp,@function
-.type __sigsetjmp,@function
-sigsetjmp:
-__sigsetjmp:
- lui $gp, %hi(_gp_disp)
- addiu $gp, %lo(_gp_disp)
- beq $5, $0, 1f
- addu $gp, $gp, $25
-
- sw $ra, 104($4)
- sw $16, 104+4+16($4)
-
- lw $25, %call16(setjmp)($gp)
- jalr $25
- move $16, $4
-
- move $5,$2
- move $4,$16
- lw $ra, 104($4)
- lw $16, 104+4+16($4)
-
-.hidden __sigsetjmp_tail
- lw $25, %call16(__sigsetjmp_tail)($gp)
- jr $25
- nop
-
-1: lw $25, %call16(setjmp)($gp)
- jr $25
- nop
diff --git a/fusl/src/signal/powerpc/restore.s b/fusl/src/signal/powerpc/restore.s
deleted file mode 100644
index 4d41c27..0000000
--- a/fusl/src/signal/powerpc/restore.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .global __restore
- .type __restore,%function
-__restore:
- li 0, 119 #__NR_sigreturn
- sc
-
- .global __restore_rt
- .type __restore_rt,%function
-__restore_rt:
- li 0, 172 # __NR_rt_sigreturn
- sc
diff --git a/fusl/src/signal/powerpc/sigsetjmp.s b/fusl/src/signal/powerpc/sigsetjmp.s
deleted file mode 100644
index 152c3fe..0000000
--- a/fusl/src/signal/powerpc/sigsetjmp.s
+++ /dev/null
@@ -1,27 +0,0 @@
- .global sigsetjmp
- .global __sigsetjmp
- .type sigsetjmp,%function
- .type __sigsetjmp,%function
-sigsetjmp:
-__sigsetjmp:
- cmpwi cr7, 4, 0
- beq- cr7, 1f
-
- mflr 5
- stw 5, 448(3)
- stw 16, 448+4+8(3)
- mr 16, 3
-
-.hidden ___setjmp
- bl ___setjmp
-
- mr 4, 3
- mr 3, 16
- lwz 5, 448(3)
- mtlr 5
- lwz 16, 448+4+8(3)
-
-.hidden __sigsetjmp_tail
- b __sigsetjmp_tail
-
-1: b ___setjmp
diff --git a/fusl/src/string/arm/__aeabi_memclr.c b/fusl/src/string/arm/__aeabi_memclr.c
deleted file mode 100644
index 9c46dc3..0000000
--- a/fusl/src/string/arm/__aeabi_memclr.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include "libc.h"
-
-void __aeabi_memclr(void* dest, size_t n) {
- memset(dest, 0, n);
-}
-weak_alias(__aeabi_memclr, __aeabi_memclr4);
-weak_alias(__aeabi_memclr, __aeabi_memclr8);
diff --git a/fusl/src/string/arm/__aeabi_memcpy.c b/fusl/src/string/arm/__aeabi_memcpy.c
deleted file mode 100644
index 2aa50ea..0000000
--- a/fusl/src/string/arm/__aeabi_memcpy.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include "libc.h"
-
-void __aeabi_memcpy(void* restrict dest, const void* restrict src, size_t n) {
- memcpy(dest, src, n);
-}
-weak_alias(__aeabi_memcpy, __aeabi_memcpy4);
-weak_alias(__aeabi_memcpy, __aeabi_memcpy8);
diff --git a/fusl/src/string/arm/__aeabi_memmove.c b/fusl/src/string/arm/__aeabi_memmove.c
deleted file mode 100644
index f7a1ca3..0000000
--- a/fusl/src/string/arm/__aeabi_memmove.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include "libc.h"
-
-void __aeabi_memmove(void* dest, const void* src, size_t n) {
- memmove(dest, src, n);
-}
-weak_alias(__aeabi_memmove, __aeabi_memmove4);
-weak_alias(__aeabi_memmove, __aeabi_memmove8);
diff --git a/fusl/src/string/arm/__aeabi_memset.c b/fusl/src/string/arm/__aeabi_memset.c
deleted file mode 100644
index 65c8810..0000000
--- a/fusl/src/string/arm/__aeabi_memset.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include "libc.h"
-
-void __aeabi_memset(void* dest, size_t n, int c) {
- memset(dest, c, n);
-}
-weak_alias(__aeabi_memset, __aeabi_memset4);
-weak_alias(__aeabi_memset, __aeabi_memset8);
diff --git a/fusl/src/string/arm/memcpy.c b/fusl/src/string/arm/memcpy.c
deleted file mode 100644
index 041614f..0000000
--- a/fusl/src/string/arm/memcpy.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#if __ARMEB__
-#include "../memcpy.c"
-#endif
diff --git a/fusl/src/string/arm/memcpy_le.s b/fusl/src/string/arm/memcpy_le.s
deleted file mode 100644
index 4db4844..0000000
--- a/fusl/src/string/arm/memcpy_le.s
+++ /dev/null
@@ -1,383 +0,0 @@
-#ifndef __ARMEB__
-
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-/*
- * Optimized memcpy() for ARM.
- *
- * note that memcpy() always returns the destination pointer,
- * so we have to preserve R0.
- */
-
-/*
- * This file has been modified from the original for use in musl libc.
- * The main changes are: addition of .type memcpy,%function to make the
- * code safely callable from thumb mode, adjusting the return
- * instructions to be compatible with pre-thumb ARM cpus, and removal
- * of prefetch code that is not compatible with older cpus.
- */
-
-.syntax unified
-
-.global memcpy
-.type memcpy,%function
-memcpy:
- /* The stack must always be 64-bits aligned to be compliant with the
- * ARM ABI. Since we have to save R0, we might as well save R4
- * which we can use for better pipelining of the reads below
- */
- .fnstart
- .save {r0, r4, lr}
- stmfd sp!, {r0, r4, lr}
- /* Making room for r5-r11 which will be spilled later */
- .pad #28
- sub sp, sp, #28
-
- /* it simplifies things to take care of len<4 early */
- cmp r2, #4
- blo copy_last_3_and_return
-
- /* compute the offset to align the source
- * offset = (4-(src&3))&3 = -src & 3
- */
- rsb r3, r1, #0
- ands r3, r3, #3
- beq src_aligned
-
- /* align source to 32 bits. We need to insert 2 instructions between
- * a ldr[b|h] and str[b|h] because byte and half-word instructions
- * stall 2 cycles.
- */
- movs r12, r3, lsl #31
- sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
- ldrbmi r3, [r1], #1
- ldrbcs r4, [r1], #1
- ldrbcs r12,[r1], #1
- strbmi r3, [r0], #1
- strbcs r4, [r0], #1
- strbcs r12,[r0], #1
-
-src_aligned:
-
- /* see if src and dst are aligned together (congruent) */
- eor r12, r0, r1
- tst r12, #3
- bne non_congruent
-
- /* Use post-incriment mode for stm to spill r5-r11 to reserved stack
- * frame. Don't update sp.
- */
- stmea sp, {r5-r11}
-
- /* align the destination to a cache-line */
- rsb r3, r0, #0
- ands r3, r3, #0x1C
- beq congruent_aligned32
- cmp r3, r2
- andhi r3, r2, #0x1C
-
- /* conditionnaly copies 0 to 7 words (length in r3) */
- movs r12, r3, lsl #28
- ldmcs r1!, {r4, r5, r6, r7} /* 16 bytes */
- ldmmi r1!, {r8, r9} /* 8 bytes */
- stmcs r0!, {r4, r5, r6, r7}
- stmmi r0!, {r8, r9}
- tst r3, #0x4
- ldrne r10,[r1], #4 /* 4 bytes */
- strne r10,[r0], #4
- sub r2, r2, r3
-
-congruent_aligned32:
- /*
- * here source is aligned to 32 bytes.
- */
-
-cached_aligned32:
- subs r2, r2, #32
- blo less_than_32_left
-
- /*
- * We preload a cache-line up to 64 bytes ahead. On the 926, this will
- * stall only until the requested world is fetched, but the linefill
- * continues in the the background.
- * While the linefill is going, we write our previous cache-line
- * into the write-buffer (which should have some free space).
- * When the linefill is done, the writebuffer will
- * start dumping its content into memory
- *
- * While all this is going, we then load a full cache line into
- * 8 registers, this cache line should be in the cache by now
- * (or partly in the cache).
- *
- * This code should work well regardless of the source/dest alignment.
- *
- */
-
- /* Align the preload register to a cache-line because the cpu does
- * "critical word first" (the first word requested is loaded first).
- */
- @ bic r12, r1, #0x1F
- @ add r12, r12, #64
-
-1: ldmia r1!, { r4-r11 }
- subs r2, r2, #32
-
- /*
- * NOTE: if r12 is more than 64 ahead of r1, the following ldrhi
- * for ARM9 preload will not be safely guarded by the preceding subs.
- * When it is safely guarded the only possibility to have SIGSEGV here
- * is because the caller overstates the length.
- */
- @ ldrhi r3, [r12], #32 /* cheap ARM9 preload */
- stmia r0!, { r4-r11 }
- bhs 1b
-
- add r2, r2, #32
-
-less_than_32_left:
- /*
- * less than 32 bytes left at this point (length in r2)
- */
-
- /* skip all this if there is nothing to do, which should
- * be a common case (if not executed the code below takes
- * about 16 cycles)
- */
- tst r2, #0x1F
- beq 1f
-
- /* conditionnaly copies 0 to 31 bytes */
- movs r12, r2, lsl #28
- ldmcs r1!, {r4, r5, r6, r7} /* 16 bytes */
- ldmmi r1!, {r8, r9} /* 8 bytes */
- stmcs r0!, {r4, r5, r6, r7}
- stmmi r0!, {r8, r9}
- movs r12, r2, lsl #30
- ldrcs r3, [r1], #4 /* 4 bytes */
- ldrhmi r4, [r1], #2 /* 2 bytes */
- strcs r3, [r0], #4
- strhmi r4, [r0], #2
- tst r2, #0x1
- ldrbne r3, [r1] /* last byte */
- strbne r3, [r0]
-
- /* we're done! restore everything and return */
-1: ldmfd sp!, {r5-r11}
- ldmfd sp!, {r0, r4, lr}
- bx lr
-
- /********************************************************************/
-
-non_congruent:
- /*
- * here source is aligned to 4 bytes
- * but destination is not.
- *
- * in the code below r2 is the number of bytes read
- * (the number of bytes written is always smaller, because we have
- * partial words in the shift queue)
- */
- cmp r2, #4
- blo copy_last_3_and_return
-
- /* Use post-incriment mode for stm to spill r5-r11 to reserved stack
- * frame. Don't update sp.
- */
- stmea sp, {r5-r11}
-
- /* compute shifts needed to align src to dest */
- rsb r5, r0, #0
- and r5, r5, #3 /* r5 = # bytes in partial words */
- mov r12, r5, lsl #3 /* r12 = right */
- rsb lr, r12, #32 /* lr = left */
-
- /* read the first word */
- ldr r3, [r1], #4
- sub r2, r2, #4
-
- /* write a partial word (0 to 3 bytes), such that destination
- * becomes aligned to 32 bits (r5 = nb of words to copy for alignment)
- */
- movs r5, r5, lsl #31
- strbmi r3, [r0], #1
- movmi r3, r3, lsr #8
- strbcs r3, [r0], #1
- movcs r3, r3, lsr #8
- strbcs r3, [r0], #1
- movcs r3, r3, lsr #8
-
- cmp r2, #4
- blo partial_word_tail
-
- /* Align destination to 32 bytes (cache line boundary) */
-1: tst r0, #0x1c
- beq 2f
- ldr r5, [r1], #4
- sub r2, r2, #4
- orr r4, r3, r5, lsl lr
- mov r3, r5, lsr r12
- str r4, [r0], #4
- cmp r2, #4
- bhs 1b
- blo partial_word_tail
-
- /* copy 32 bytes at a time */
-2: subs r2, r2, #32
- blo less_than_thirtytwo
-
- /* Use immediate mode for the shifts, because there is an extra cycle
- * for register shifts, which could account for up to 50% of
- * performance hit.
- */
-
- cmp r12, #24
- beq loop24
- cmp r12, #8
- beq loop8
-
-loop16:
- ldr r12, [r1], #4
-1: mov r4, r12
- ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
- subs r2, r2, #32
- ldrhs r12, [r1], #4
- orr r3, r3, r4, lsl #16
- mov r4, r4, lsr #16
- orr r4, r4, r5, lsl #16
- mov r5, r5, lsr #16
- orr r5, r5, r6, lsl #16
- mov r6, r6, lsr #16
- orr r6, r6, r7, lsl #16
- mov r7, r7, lsr #16
- orr r7, r7, r8, lsl #16
- mov r8, r8, lsr #16
- orr r8, r8, r9, lsl #16
- mov r9, r9, lsr #16
- orr r9, r9, r10, lsl #16
- mov r10, r10, lsr #16
- orr r10, r10, r11, lsl #16
- stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
- mov r3, r11, lsr #16
- bhs 1b
- b less_than_thirtytwo
-
-loop8:
- ldr r12, [r1], #4
-1: mov r4, r12
- ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
- subs r2, r2, #32
- ldrhs r12, [r1], #4
- orr r3, r3, r4, lsl #24
- mov r4, r4, lsr #8
- orr r4, r4, r5, lsl #24
- mov r5, r5, lsr #8
- orr r5, r5, r6, lsl #24
- mov r6, r6, lsr #8
- orr r6, r6, r7, lsl #24
- mov r7, r7, lsr #8
- orr r7, r7, r8, lsl #24
- mov r8, r8, lsr #8
- orr r8, r8, r9, lsl #24
- mov r9, r9, lsr #8
- orr r9, r9, r10, lsl #24
- mov r10, r10, lsr #8
- orr r10, r10, r11, lsl #24
- stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
- mov r3, r11, lsr #8
- bhs 1b
- b less_than_thirtytwo
-
-loop24:
- ldr r12, [r1], #4
-1: mov r4, r12
- ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
- subs r2, r2, #32
- ldrhs r12, [r1], #4
- orr r3, r3, r4, lsl #8
- mov r4, r4, lsr #24
- orr r4, r4, r5, lsl #8
- mov r5, r5, lsr #24
- orr r5, r5, r6, lsl #8
- mov r6, r6, lsr #24
- orr r6, r6, r7, lsl #8
- mov r7, r7, lsr #24
- orr r7, r7, r8, lsl #8
- mov r8, r8, lsr #24
- orr r8, r8, r9, lsl #8
- mov r9, r9, lsr #24
- orr r9, r9, r10, lsl #8
- mov r10, r10, lsr #24
- orr r10, r10, r11, lsl #8
- stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
- mov r3, r11, lsr #24
- bhs 1b
-
-less_than_thirtytwo:
- /* copy the last 0 to 31 bytes of the source */
- rsb r12, lr, #32 /* we corrupted r12, recompute it */
- add r2, r2, #32
- cmp r2, #4
- blo partial_word_tail
-
-1: ldr r5, [r1], #4
- sub r2, r2, #4
- orr r4, r3, r5, lsl lr
- mov r3, r5, lsr r12
- str r4, [r0], #4
- cmp r2, #4
- bhs 1b
-
-partial_word_tail:
- /* we have a partial word in the input buffer */
- movs r5, lr, lsl #(31-3)
- strbmi r3, [r0], #1
- movmi r3, r3, lsr #8
- strbcs r3, [r0], #1
- movcs r3, r3, lsr #8
- strbcs r3, [r0], #1
-
- /* Refill spilled registers from the stack. Don't update sp. */
- ldmfd sp, {r5-r11}
-
-copy_last_3_and_return:
- movs r2, r2, lsl #31 /* copy remaining 0, 1, 2 or 3 bytes */
- ldrbmi r2, [r1], #1
- ldrbcs r3, [r1], #1
- ldrbcs r12,[r1]
- strbmi r2, [r0], #1
- strbcs r3, [r0], #1
- strbcs r12,[r0]
-
- /* we're done! restore sp and spilled registers and return */
- add sp, sp, #28
- ldmfd sp!, {r0, r4, lr}
- bx lr
-
-#endif
diff --git a/fusl/src/string/i386/memcpy.s b/fusl/src/string/i386/memcpy.s
deleted file mode 100644
index 0608dd8..0000000
--- a/fusl/src/string/i386/memcpy.s
+++ /dev/null
@@ -1,32 +0,0 @@
-.global memcpy
-.global __memcpy_fwd
-.hidden __memcpy_fwd
-.type memcpy,@function
-memcpy:
-__memcpy_fwd:
- push %esi
- push %edi
- mov 12(%esp),%edi
- mov 16(%esp),%esi
- mov 20(%esp),%ecx
- mov %edi,%eax
- cmp $4,%ecx
- jc 1f
- test $3,%edi
- jz 1f
-2: movsb
- dec %ecx
- test $3,%edi
- jnz 2b
-1: mov %ecx,%edx
- shr $2,%ecx
- rep
- movsl
- and $3,%edx
- jz 1f
-2: movsb
- dec %edx
- jnz 2b
-1: pop %edi
- pop %esi
- ret
diff --git a/fusl/src/string/i386/memmove.s b/fusl/src/string/i386/memmove.s
deleted file mode 100644
index 2a6a504..0000000
--- a/fusl/src/string/i386/memmove.s
+++ /dev/null
@@ -1,22 +0,0 @@
-.global memmove
-.type memmove,@function
-memmove:
- mov 4(%esp),%eax
- sub 8(%esp),%eax
- cmp 12(%esp),%eax
-.hidden __memcpy_fwd
- jae __memcpy_fwd
- push %esi
- push %edi
- mov 12(%esp),%edi
- mov 16(%esp),%esi
- mov 20(%esp),%ecx
- lea -1(%edi,%ecx),%edi
- lea -1(%esi,%ecx),%esi
- std
- rep movsb
- cld
- lea 1(%edi),%eax
- pop %edi
- pop %esi
- ret
diff --git a/fusl/src/string/i386/memset.s b/fusl/src/string/i386/memset.s
deleted file mode 100644
index d00422c..0000000
--- a/fusl/src/string/i386/memset.s
+++ /dev/null
@@ -1,76 +0,0 @@
-.global memset
-.type memset,@function
-memset:
- mov 12(%esp),%ecx
- cmp $62,%ecx
- ja 2f
-
- mov 8(%esp),%dl
- mov 4(%esp),%eax
- test %ecx,%ecx
- jz 1f
-
- mov %dl,%dh
-
- mov %dl,(%eax)
- mov %dl,-1(%eax,%ecx)
- cmp $2,%ecx
- jbe 1f
-
- mov %dx,1(%eax)
- mov %dx,(-1-2)(%eax,%ecx)
- cmp $6,%ecx
- jbe 1f
-
- shl $16,%edx
- mov 8(%esp),%dl
- mov 8(%esp),%dh
-
- mov %edx,(1+2)(%eax)
- mov %edx,(-1-2-4)(%eax,%ecx)
- cmp $14,%ecx
- jbe 1f
-
- mov %edx,(1+2+4)(%eax)
- mov %edx,(1+2+4+4)(%eax)
- mov %edx,(-1-2-4-8)(%eax,%ecx)
- mov %edx,(-1-2-4-4)(%eax,%ecx)
- cmp $30,%ecx
- jbe 1f
-
- mov %edx,(1+2+4+8)(%eax)
- mov %edx,(1+2+4+8+4)(%eax)
- mov %edx,(1+2+4+8+8)(%eax)
- mov %edx,(1+2+4+8+12)(%eax)
- mov %edx,(-1-2-4-8-16)(%eax,%ecx)
- mov %edx,(-1-2-4-8-12)(%eax,%ecx)
- mov %edx,(-1-2-4-8-8)(%eax,%ecx)
- mov %edx,(-1-2-4-8-4)(%eax,%ecx)
-
-1: ret
-
-2: movzbl 8(%esp),%eax
- mov %edi,12(%esp)
- imul $0x1010101,%eax
- mov 4(%esp),%edi
- test $15,%edi
- mov %eax,-4(%edi,%ecx)
- jnz 2f
-
-1: shr $2, %ecx
- rep
- stosl
- mov 4(%esp),%eax
- mov 12(%esp),%edi
- ret
-
-2: xor %edx,%edx
- sub %edi,%edx
- and $15,%edx
- mov %eax,(%edi)
- mov %eax,4(%edi)
- mov %eax,8(%edi)
- mov %eax,12(%edi)
- sub %edx,%ecx
- add %edx,%edi
- jmp 1b
diff --git a/fusl/src/thread/arm/__set_thread_area.c b/fusl/src/thread/arm/__set_thread_area.c
deleted file mode 100644
index ea69652..0000000
--- a/fusl/src/thread/arm/__set_thread_area.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <stdint.h>
-#include <elf.h>
-#include "pthread_impl.h"
-#include "libc.h"
-
-#define HWCAP_TLS (1 << 15)
-
-extern const unsigned char __attribute__((__visibility__("hidden")))
-__a_barrier_dummy[],
- __a_barrier_oldkuser[], __a_barrier_v6[], __a_barrier_v7[], __a_cas_dummy[],
- __a_cas_v6[], __a_cas_v7[], __a_gettp_dummy[];
-
-#define __a_barrier_kuser 0xffff0fa0
-#define __a_cas_kuser 0xffff0fc0
-#define __a_gettp_kuser 0xffff0fe0
-
-extern uintptr_t __attribute__((__visibility__("hidden"))) __a_barrier_ptr,
- __a_cas_ptr, __a_gettp_ptr;
-
-#define SET(op, ver) \
- (__a_##op##_ptr = (uintptr_t)__a_##op##_##ver - (uintptr_t)__a_##op##_dummy)
-
-int __set_thread_area(void* p) {
-#if !__ARM_ARCH_7A__ && !__ARM_ARCH_7R__ && __ARM_ARCH < 7
- if (__hwcap & HWCAP_TLS) {
- size_t* aux;
- SET(cas, v7);
- SET(barrier, v7);
- for (aux = libc.auxv; *aux; aux += 2) {
- if (*aux != AT_PLATFORM)
- continue;
- const char* s = (void*)aux[1];
- if (s[0] != 'v' || s[1] != '6' || s[2] - '0' < 10u)
- break;
- SET(cas, v6);
- SET(barrier, v6);
- break;
- }
- } else {
- int ver = *(int*)0xffff0ffc;
- SET(gettp, kuser);
- SET(cas, kuser);
- SET(barrier, kuser);
- if (ver < 2)
- a_crash();
- if (ver < 3)
- SET(barrier, oldkuser);
- }
-#endif
- return __syscall(0xf0005, p);
-}
diff --git a/fusl/src/thread/arm/__unmapself.s b/fusl/src/thread/arm/__unmapself.s
deleted file mode 100644
index 29c2d07..0000000
--- a/fusl/src/thread/arm/__unmapself.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.syntax unified
-.text
-.global __unmapself
-.type __unmapself,%function
-__unmapself:
- mov r7,#91
- svc 0
- mov r7,#1
- svc 0
diff --git a/fusl/src/thread/arm/atomics.s b/fusl/src/thread/arm/atomics.s
deleted file mode 100644
index 673fc03..0000000
--- a/fusl/src/thread/arm/atomics.s
+++ /dev/null
@@ -1,113 +0,0 @@
-.syntax unified
-.text
-
-.global __a_barrier
-.hidden __a_barrier
-.type __a_barrier,%function
-__a_barrier:
- ldr ip,1f
- ldr ip,[pc,ip]
- add pc,pc,ip
-1: .word __a_barrier_ptr-1b
-.global __a_barrier_dummy
-.hidden __a_barrier_dummy
-__a_barrier_dummy:
- bx lr
-.global __a_barrier_oldkuser
-.hidden __a_barrier_oldkuser
-__a_barrier_oldkuser:
- push {r0,r1,r2,r3,ip,lr}
- mov r1,r0
- mov r2,sp
- ldr ip,=0xffff0fc0
- mov lr,pc
- mov pc,ip
- pop {r0,r1,r2,r3,ip,lr}
- bx lr
-.global __a_barrier_v6
-.hidden __a_barrier_v6
-__a_barrier_v6:
- mcr p15,0,r0,c7,c10,5
- bx lr
-.global __a_barrier_v7
-.hidden __a_barrier_v7
-__a_barrier_v7:
- .word 0xf57ff05b /* dmb ish */
- bx lr
-
-.global __a_cas
-.hidden __a_cas
-.type __a_cas,%function
-__a_cas:
- ldr ip,1f
- ldr ip,[pc,ip]
- add pc,pc,ip
-1: .word __a_cas_ptr-1b
-.global __a_cas_dummy
-.hidden __a_cas_dummy
-__a_cas_dummy:
- mov r3,r0
- ldr r0,[r2]
- subs r0,r3,r0
- streq r1,[r2]
- bx lr
-.global __a_cas_v6
-.hidden __a_cas_v6
-__a_cas_v6:
- mov r3,r0
- mcr p15,0,r0,c7,c10,5
-1: .word 0xe1920f9f /* ldrex r0,[r2] */
- subs r0,r3,r0
- .word 0x01820f91 /* strexeq r0,r1,[r2] */
- teqeq r0,#1
- beq 1b
- mcr p15,0,r0,c7,c10,5
- bx lr
-.global __a_cas_v7
-.hidden __a_cas_v7
-__a_cas_v7:
- mov r3,r0
- .word 0xf57ff05b /* dmb ish */
-1: .word 0xe1920f9f /* ldrex r0,[r2] */
- subs r0,r3,r0
- .word 0x01820f91 /* strexeq r0,r1,[r2] */
- teqeq r0,#1
- beq 1b
- .word 0xf57ff05b /* dmb ish */
- bx lr
-
-.global __aeabi_read_tp
-.type __aeabi_read_tp,%function
-__aeabi_read_tp:
-
-.global __a_gettp
-.hidden __a_gettp
-.type __a_gettp,%function
-__a_gettp:
- ldr r0,1f
- ldr r0,[pc,r0]
- add pc,pc,r0
-1: .word __a_gettp_ptr-1b
-.global __a_gettp_dummy
-.hidden __a_gettp_dummy
-__a_gettp_dummy:
- mrc p15,0,r0,c13,c0,3
- bx lr
-
-.data
-.align 2
-
-.global __a_barrier_ptr
-.hidden __a_barrier_ptr
-__a_barrier_ptr:
- .word 0
-
-.global __a_cas_ptr
-.hidden __a_cas_ptr
-__a_cas_ptr:
- .word 0
-
-.global __a_gettp_ptr
-.hidden __a_gettp_ptr
-__a_gettp_ptr:
- .word 0
diff --git a/fusl/src/thread/arm/clone.s b/fusl/src/thread/arm/clone.s
deleted file mode 100644
index fe2e0e6..0000000
--- a/fusl/src/thread/arm/clone.s
+++ /dev/null
@@ -1,31 +0,0 @@
-.syntax unified
-.text
-.global __clone
-.type __clone,%function
-__clone:
- stmfd sp!,{r4,r5,r6,r7}
- mov r7,#120
- mov r6,r3
- mov r5,r0
- mov r0,r2
- and r1,r1,#-16
- ldr r2,[sp,#16]
- ldr r3,[sp,#20]
- ldr r4,[sp,#24]
- svc 0
- tst r0,r0
- beq 1f
- ldmfd sp!,{r4,r5,r6,r7}
- bx lr
-
-1: mov r0,r6
- tst r5,#1
- bne 1f
- mov lr,pc
- mov pc,r5
-2: mov r7,#1
- svc 0
-
-1: mov lr,pc
- bx r5
- b 2b
diff --git a/fusl/src/thread/arm/syscall_cp.s b/fusl/src/thread/arm/syscall_cp.s
deleted file mode 100644
index a5730c0..0000000
--- a/fusl/src/thread/arm/syscall_cp.s
+++ /dev/null
@@ -1,29 +0,0 @@
-.syntax unified
-.global __cp_begin
-.hidden __cp_begin
-.global __cp_end
-.hidden __cp_end
-.global __cp_cancel
-.hidden __cp_cancel
-.hidden __cancel
-.global __syscall_cp_asm
-.hidden __syscall_cp_asm
-.type __syscall_cp_asm,%function
-__syscall_cp_asm:
- mov ip,sp
- stmfd sp!,{r4,r5,r6,r7,lr}
-__cp_begin:
- ldr r0,[r0]
- cmp r0,#0
- blne __cp_cancel
- mov r7,r1
- mov r0,r2
- mov r1,r3
- ldmfd ip,{r2,r3,r4,r5,r6}
- svc 0
-__cp_end:
- ldmfd sp!,{r4,r5,r6,r7,lr}
- bx lr
-__cp_cancel:
- ldmfd sp!,{r4,r5,r6,r7,lr}
- b __cancel
diff --git a/fusl/src/thread/i386/__set_thread_area.s b/fusl/src/thread/i386/__set_thread_area.s
deleted file mode 100644
index 3a558fb..0000000
--- a/fusl/src/thread/i386/__set_thread_area.s
+++ /dev/null
@@ -1,45 +0,0 @@
-.text
-.global __set_thread_area
-.type __set_thread_area,@function
-__set_thread_area:
- push %ebx
- push $0x51
- push $0xfffff
- push 16(%esp)
- call 1f
-1: addl $4f-1b,(%esp)
- pop %ecx
- mov (%ecx),%edx
- push %edx
- mov %esp,%ebx
- xor %eax,%eax
- mov $243,%al
- int $128
- testl %eax,%eax
- jnz 2f
- movl (%esp),%edx
- movl %edx,(%ecx)
- leal 3(,%edx,8),%edx
-3: movw %dx,%gs
-1:
- addl $16,%esp
- popl %ebx
- ret
-2:
- mov %ebx,%ecx
- xor %ebx,%ebx
- xor %edx,%edx
- mov %ebx,(%esp)
- mov $1,%bl
- mov $16,%dl
- mov $123,%al
- int $128
- testl %eax,%eax
- jnz 1b
- mov $7,%dl
- inc %al
- jmp 3b
-
-.data
- .align 4
-4: .long -1
diff --git a/fusl/src/thread/i386/__unmapself.s b/fusl/src/thread/i386/__unmapself.s
deleted file mode 100644
index d656959..0000000
--- a/fusl/src/thread/i386/__unmapself.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.global __unmapself
-.type __unmapself,@function
-__unmapself:
- movl $91,%eax
- movl 4(%esp),%ebx
- movl 8(%esp),%ecx
- int $128
- xorl %ebx,%ebx
- movl $1,%eax
- int $128
diff --git a/fusl/src/thread/i386/clone.s b/fusl/src/thread/i386/clone.s
deleted file mode 100644
index 52fe7ef..0000000
--- a/fusl/src/thread/i386/clone.s
+++ /dev/null
@@ -1,48 +0,0 @@
-.text
-.global __clone
-.type __clone,@function
-__clone:
- push %ebp
- mov %esp,%ebp
- push %ebx
- push %esi
- push %edi
-
- xor %eax,%eax
- push $0x51
- mov %gs,%ax
- push $0xfffff
- shr $3,%eax
- push 28(%ebp)
- push %eax
- mov $120,%al
-
- mov 12(%ebp),%ecx
- mov 16(%ebp),%ebx
- and $-16,%ecx
- sub $16,%ecx
- mov 20(%ebp),%edi
- mov %edi,(%ecx)
- mov 24(%ebp),%edx
- mov %esp,%esi
- mov 32(%ebp),%edi
- mov 8(%ebp),%ebp
- int $128
- test %eax,%eax
- jnz 1f
-
- mov %ebp,%eax
- xor %ebp,%ebp
- call *%eax
- mov %eax,%ebx
- xor %eax,%eax
- inc %eax
- int $128
- hlt
-
-1: add $16,%esp
- pop %edi
- pop %esi
- pop %ebx
- pop %ebp
- ret
diff --git a/fusl/src/thread/i386/syscall_cp.s b/fusl/src/thread/i386/syscall_cp.s
deleted file mode 100644
index 7dce1eb..0000000
--- a/fusl/src/thread/i386/syscall_cp.s
+++ /dev/null
@@ -1,41 +0,0 @@
-.text
-.global __cp_begin
-.hidden __cp_begin
-.global __cp_end
-.hidden __cp_end
-.global __cp_cancel
-.hidden __cp_cancel
-.hidden __cancel
-.global __syscall_cp_asm
-.hidden __syscall_cp_asm
-.type __syscall_cp_asm,@function
-__syscall_cp_asm:
- mov 4(%esp),%ecx
- pushl %ebx
- pushl %esi
- pushl %edi
- pushl %ebp
-__cp_begin:
- movl (%ecx),%eax
- testl %eax,%eax
- jnz __cp_cancel
- movl 24(%esp),%eax
- movl 28(%esp),%ebx
- movl 32(%esp),%ecx
- movl 36(%esp),%edx
- movl 40(%esp),%esi
- movl 44(%esp),%edi
- movl 48(%esp),%ebp
- int $128
-__cp_end:
- popl %ebp
- popl %edi
- popl %esi
- popl %ebx
- ret
-__cp_cancel:
- popl %ebp
- popl %edi
- popl %esi
- popl %ebx
- jmp __cancel
diff --git a/fusl/src/thread/i386/tls.s b/fusl/src/thread/i386/tls.s
deleted file mode 100644
index 76d5d46..0000000
--- a/fusl/src/thread/i386/tls.s
+++ /dev/null
@@ -1,17 +0,0 @@
-.text
-.global ___tls_get_addr
-.type ___tls_get_addr,@function
-___tls_get_addr:
- mov %gs:4,%edx
- mov (%eax),%ecx
- cmp %ecx,(%edx)
- jc 1f
- mov 4(%eax),%eax
- add (%edx,%ecx,4),%eax
- ret
-1: push %eax
-.weak __tls_get_new
-.hidden __tls_get_new
- call __tls_get_new
- pop %edx
- ret
diff --git a/fusl/src/thread/mips/__unmapself.s b/fusl/src/thread/mips/__unmapself.s
deleted file mode 100644
index ba139dc..0000000
--- a/fusl/src/thread/mips/__unmapself.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.global __unmapself
-.type __unmapself,@function
-__unmapself:
- move $sp, $25
- li $2, 4091
- syscall
- li $4, 0
- li $2, 4001
- syscall
diff --git a/fusl/src/thread/mips/clone.s b/fusl/src/thread/mips/clone.s
deleted file mode 100644
index 37dddf5..0000000
--- a/fusl/src/thread/mips/clone.s
+++ /dev/null
@@ -1,32 +0,0 @@
-.set noreorder
-.global __clone
-.type __clone,@function
-__clone:
- # Save function pointer and argument pointer on new thread stack
- and $5, $5, -8
- subu $5, $5, 16
- sw $4, 0($5)
- sw $7, 4($5)
- # Shuffle (fn,sp,fl,arg,ptid,tls,ctid) to (fl,sp,ptid,tls,ctid)
- move $4, $6
- lw $6, 16($sp)
- lw $7, 20($sp)
- lw $9, 24($sp)
- subu $sp, $sp, 16
- sw $9, 16($sp)
- li $2, 4120
- syscall
- beq $7, $0, 1f
- nop
- addu $sp, $sp, 16
- jr $ra
- subu $2, $0, $2
-1: beq $2, $0, 1f
- nop
- addu $sp, $sp, 16
- jr $ra
- nop
-1: lw $25, 0($sp)
- lw $4, 4($sp)
- jr $25
- nop
diff --git a/fusl/src/thread/mips/syscall_cp.s b/fusl/src/thread/mips/syscall_cp.s
deleted file mode 100644
index d284626..0000000
--- a/fusl/src/thread/mips/syscall_cp.s
+++ /dev/null
@@ -1,53 +0,0 @@
-.set noreorder
-
-.global __cp_begin
-.hidden __cp_begin
-.type __cp_begin,@function
-.global __cp_end
-.hidden __cp_end
-.type __cp_end,@function
-.global __cp_cancel
-.hidden __cp_cancel
-.type __cp_cancel,@function
-.hidden __cancel
-.global __syscall_cp_asm
-.hidden __syscall_cp_asm
-.type __syscall_cp_asm,@function
-__syscall_cp_asm:
- subu $sp, $sp, 32
-__cp_begin:
- lw $4, 0($4)
- bne $4, $0, __cp_cancel
- move $2, $5
- move $4, $6
- move $5, $7
- lw $6, 48($sp)
- lw $7, 52($sp)
- lw $8, 56($sp)
- lw $9, 60($sp)
- lw $10,64($sp)
- sw $8, 16($sp)
- sw $9, 20($sp)
- sw $10,24($sp)
- sw $2, 28($sp)
- lw $2, 28($sp)
- syscall
-__cp_end:
- beq $7, $0, 1f
- addu $sp, $sp, 32
- subu $2, $0, $2
-1: jr $ra
- nop
-
-__cp_cancel:
- move $2, $ra
- bal 1f
- addu $sp, $sp, 32
- .gpword .
- .gpword __cancel
-1: lw $3, ($ra)
- subu $3, $ra, $3
- lw $25, 4($ra)
- addu $25, $25, $3
- jr $25
- move $ra, $2
diff --git a/fusl/src/thread/powerpc/__set_thread_area.s b/fusl/src/thread/powerpc/__set_thread_area.s
deleted file mode 100644
index c1a34c1..0000000
--- a/fusl/src/thread/powerpc/__set_thread_area.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.global __set_thread_area
-.type __set_thread_area, %function
-__set_thread_area:
- # mov pointer in reg3 into r2
- mr 2, 3
- # put 0 into return reg
- li 3, 0
- # return
- blr
-
diff --git a/fusl/src/thread/powerpc/__unmapself.s b/fusl/src/thread/powerpc/__unmapself.s
deleted file mode 100644
index c9360b4..0000000
--- a/fusl/src/thread/powerpc/__unmapself.s
+++ /dev/null
@@ -1,9 +0,0 @@
- .text
- .global __unmapself
- .type __unmapself,%function
-__unmapself:
- li 0, 91 # __NR_munmap
- sc
- li 0, 1 #__NR_exit
- sc
- blr
diff --git a/fusl/src/thread/powerpc/clone.s b/fusl/src/thread/powerpc/clone.s
deleted file mode 100644
index dc5c74c..0000000
--- a/fusl/src/thread/powerpc/clone.s
+++ /dev/null
@@ -1,67 +0,0 @@
-.text
-.global __clone
-.type __clone, %function
-__clone:
-# int clone(fn, stack, flags, arg, ptid, tls, ctid)
-# a b c d e f g
-# 3 4 5 6 7 8 9
-# pseudo C code:
-# tid = syscall(SYS_clone,c,b,e,f,g);
-# if (!tid) syscall(SYS_exit, a(d));
-# return tid;
-
-# SYS_clone = 120
-# SYS_exit = 1
-
-# store non-volatile regs r30, r31 on stack in order to put our
-# start func and its arg there
-stwu 30, -16(1)
-stw 31, 4(1)
-
-# save r3 (func) into r30, and r6(arg) into r31
-mr 30, 3
-mr 31, 6
-
-#move c into first arg
-mr 3, 5
-#mr 4, 4
-mr 5, 7
-mr 6, 8
-mr 7, 9
-
-# move syscall number into r0
-li 0, 120
-
-sc
-
-# check for syscall error
-bns+ 1f # jump to label 1 if no summary overflow.
-#else
-neg 3, 3 #negate the result (errno)
-1:
-# compare sc result with 0
-cmpwi cr7, 3, 0
-
-# if not 0, jump to end
-bne cr7, 2f
-
-#else: we're the child
-#call funcptr: move arg (d) into r3
-mr 3, 31
-#move r30 (funcptr) into CTR reg
-mtctr 30
-# call CTR reg
-bctrl
-# mov SYS_exit into r0 (the exit param is already in r3)
-li 0, 1
-sc
-
-2:
-
-# restore stack
-lwz 30, 0(1)
-lwz 31, 4(1)
-addi 1, 1, 16
-
-blr
-
diff --git a/fusl/src/thread/powerpc/syscall_cp.s b/fusl/src/thread/powerpc/syscall_cp.s
deleted file mode 100644
index 77f8938..0000000
--- a/fusl/src/thread/powerpc/syscall_cp.s
+++ /dev/null
@@ -1,59 +0,0 @@
-.global __cp_begin
-.hidden __cp_begin
-.global __cp_end
-.hidden __cp_end
-.global __cp_cancel
-.hidden __cp_cancel
-.hidden __cancel
-.global __syscall_cp_asm
-.hidden __syscall_cp_asm
-
-#r0: volatile. may be modified during linkage.
-#r1: stack frame: 16 byte alignment.
-#r2: tls/thread pointer on pp32
-#r3,r4: return values, first args
-#r5-r10: args
-#r11-r12: volatile. may be modified during linkage
-#r13: "small data area" pointer
-#r14 - r30: local vars
-#r31: local or environment pointer
-
-#r1, r14-31: belong to the caller, must be saved and restored
-#r0, r3-r12, ctr, xer: volatile, not preserved
-#r0,r11,r12: may be altered by cross-module call,
-#"a func cannot depend on that these regs have the values placed by the caller"
-
-#the fields CR2,CR2,CR4 of the cond reg must be preserved
-#LR (link reg) shall contain the funcs return address
- .text
- .type __syscall_cp_asm,%function
-__syscall_cp_asm:
- # at enter: r3 = pointer to self->cancel, r4: syscall no, r5: first arg, r6: 2nd, r7: 3rd, r8: 4th, r9: 5th, r10: 6th
-__cp_begin:
- # r3 holds first argument, its a pointer to self->cancel.
- # we must compare the dereferenced value with 0 and jump to __cancel if its not
-
- lwz 0, 0(3) #deref pointer into r0
-
- cmpwi cr7, 0, 0 #compare r0 with 0, store result in cr7.
- beq+ cr7, 1f #jump to label 1 if r0 was 0
-
- b __cp_cancel #else call cancel
-1:
- #ok, the cancel flag was not set
- # syscall: number goes to r0, the rest 3-8
- mr 0, 4 # put the system call number into r0
- mr 3, 5 # Shift the arguments: arg1
- mr 4, 6 # arg2
- mr 5, 7 # arg3
- mr 6, 8 # arg4
- mr 7, 9 # arg5
- mr 8, 10 # arg6
- sc
-__cp_end:
- bnslr+ # return if no summary overflow.
- #else negate result.
- neg 3, 3
- blr
-__cp_cancel:
- b __cancel
diff --git a/fusl/src/unistd/mips/pipe.s b/fusl/src/unistd/mips/pipe.s
deleted file mode 100644
index ba2c39a..0000000
--- a/fusl/src/unistd/mips/pipe.s
+++ /dev/null
@@ -1,20 +0,0 @@
-.set noreorder
-
-.global pipe
-.type pipe,@function
-pipe:
- lui $gp, %hi(_gp_disp)
- addiu $gp, %lo(_gp_disp)
- addu $gp, $gp, $25
- li $2, 4042
- syscall
- beq $7, $0, 1f
- nop
- lw $25, %call16(__syscall_ret)($gp)
- jr $25
- subu $4, $0, $2
-1: sw $2, 0($4)
- sw $3, 4($4)
- move $2, $0
- jr $ra
- nop