From f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:52 -0500 Subject: build: Build mlibc + add distclean target Signed-off-by: Ian Moffett --- lib/mlibc/sysdeps/linux/x86/arch-syscall.cpp | 90 ------ lib/mlibc/sysdeps/linux/x86/cp_syscall.S | 42 --- lib/mlibc/sysdeps/linux/x86/crt-src/Scrt1.S | 29 -- lib/mlibc/sysdeps/linux/x86/crt-src/crt1.S | 18 -- lib/mlibc/sysdeps/linux/x86/crt-src/crti.S | 11 - lib/mlibc/sysdeps/linux/x86/crt-src/crtn.S | 9 - lib/mlibc/sysdeps/linux/x86/signals.S | 18 -- lib/mlibc/sysdeps/linux/x86/syscallnos.h | 433 --------------------------- lib/mlibc/sysdeps/linux/x86/thread_entry.S | 61 ---- 9 files changed, 711 deletions(-) delete mode 100644 lib/mlibc/sysdeps/linux/x86/arch-syscall.cpp delete mode 100644 lib/mlibc/sysdeps/linux/x86/cp_syscall.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/crt-src/Scrt1.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/crt-src/crt1.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/crt-src/crti.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/crt-src/crtn.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/signals.S delete mode 100644 lib/mlibc/sysdeps/linux/x86/syscallnos.h delete mode 100644 lib/mlibc/sysdeps/linux/x86/thread_entry.S (limited to 'lib/mlibc/sysdeps/linux/x86') diff --git a/lib/mlibc/sysdeps/linux/x86/arch-syscall.cpp b/lib/mlibc/sysdeps/linux/x86/arch-syscall.cpp deleted file mode 100644 index 35fc8aa..0000000 --- a/lib/mlibc/sysdeps/linux/x86/arch-syscall.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include -#include - -using sc_word_t = __sc_word_t; - -// Note: ebx is used for PIC (it holds a reference to the GOT), so we can't clobber it with gcc apparently, -// and also need to make sure to restore it after a syscall - -sc_word_t __do_syscall0(long sc) { - sc_word_t ret; - asm volatile("int $0x80" : "=a"(ret) : "a"(sc) : "memory"); - return ret; -} - -sc_word_t __do_syscall1(long sc, sc_word_t arg1) { - sc_word_t ret; - asm volatile("xchg %%ebx, %%edi;" - "int $0x80;" - "xchg %%edi, %%ebx;" - : "=a"(ret) - : "a"(sc), "D"(arg1) - : "memory"); - return ret; -} - -sc_word_t __do_syscall2(long sc, sc_word_t arg1, sc_word_t arg2) { - sc_word_t ret; - asm volatile("xchg %%ebx, %%edi;" - "int $0x80;" - "xchg %%edi, %%ebx;" - : "=a"(ret) - : "a"(sc), "D"(arg1), "c"(arg2) - : "memory"); - return ret; -} - -sc_word_t __do_syscall3(long sc, sc_word_t arg1, sc_word_t arg2, sc_word_t arg3) { - sc_word_t ret; - asm volatile("xchg %%ebx, %%edi;" - "int $0x80;" - "xchg %%edi, %%ebx;" - : "=a"(ret) - : "a"(sc), "D"(arg1), "c"(arg2), "d"(arg3) - : "memory"); - return ret; -} - -sc_word_t __do_syscall4(long sc, sc_word_t arg1, sc_word_t arg2, sc_word_t arg3, sc_word_t arg4) { - sc_word_t ret; - asm volatile("xchg %%ebx, %%edi;" - "int $0x80;" - "xchg %%edi, %%ebx;" - : "=a"(ret) - : "a"(sc), "D"(arg1), "c"(arg2), "d"(arg3), "S"(arg4) - : "memory"); - return ret; -} - -sc_word_t __do_syscall5(long sc, sc_word_t arg1, sc_word_t arg2, sc_word_t arg3, sc_word_t arg4, - sc_word_t arg5) { - sc_word_t ret; - asm volatile("pushl %2;" - "push %%ebx;" - "mov 4(%%esp), %%ebx;" - "int $0x80;" - "pop %%ebx;" - "add $4, %%esp;" - : "=a"(ret) - : "a"(sc), "g"(arg1), "c"(arg2), "d"(arg3), "S"(arg4), "D"(arg5) - : "memory"); - return ret; -} - -sc_word_t __do_syscall6(long sc, sc_word_t arg1, sc_word_t arg2, sc_word_t arg3, sc_word_t arg4, - sc_word_t arg5, sc_word_t arg6) { - sc_word_t ret; - sc_word_t a1a6[2] = { arg1, arg6 }; - asm volatile ("pushl %1;" - "push %%ebx;" - "push %%ebp;" - "mov 8(%%esp),%%ebx;" - "mov 4(%%ebx),%%ebp;" - "mov (%%ebx),%%ebx;" - "int $0x80;" - "pop %%ebp;" - "pop %%ebx;" - "add $4,%%esp;" - : "=a"(ret) : "g"(&a1a6), "a"(sc), "c"(arg2), "d"(arg3), "S"(arg4), "D"(arg5) : "memory"); - return ret; -} diff --git a/lib/mlibc/sysdeps/linux/x86/cp_syscall.S b/lib/mlibc/sysdeps/linux/x86/cp_syscall.S deleted file mode 100644 index b89e1f4..0000000 --- a/lib/mlibc/sysdeps/linux/x86/cp_syscall.S +++ /dev/null @@ -1,42 +0,0 @@ - -.section .text -.global __mlibc_do_asm_cp_syscall -.global __mlibc_syscall_begin -.global __mlibc_syscall_end -.type __mlibc_do_asm_cp_syscall, "function" -__mlibc_do_asm_cp_syscall: - push %ebx - push %esi - push %edi - push %ebp - ; mov 16(%esp), %eax - mov 24(%esp), %ebx - mov 28(%esp), %ecx - mov 32(%esp), %edx - mov 36(%esp), %esi - mov 40(%esp), %edi - mov 44(%esp), %ebp - mov %gs:0x18, %al -__mlibc_syscall_begin: - /* tcbCancelEnableBit && tcbCancelTriggerBit */ - and $((1 << 0) | (1 << 2)), %al - cmp $((1 << 0) | (1 << 2)), %al - je cancel - mov 20(%esp), %eax - int $0x80 -__mlibc_syscall_end: - pop %ebp - pop %edi - pop %esi - pop %ebx - ret - -cancel: - pop %ebp - pop %edi - pop %esi - pop %ebx - call __mlibc_do_cancel@PLT - hlt - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/crt-src/Scrt1.S b/lib/mlibc/sysdeps/linux/x86/crt-src/Scrt1.S deleted file mode 100644 index a62b127..0000000 --- a/lib/mlibc/sysdeps/linux/x86/crt-src/Scrt1.S +++ /dev/null @@ -1,29 +0,0 @@ -.section .text - -.type __stack_chk_fail_local, %function -.weak __stack_chk_fail_local -__stack_chk_fail_local: - call __stack_chk_fail@plt - -.global _start - -.type _start, %function -.type main, %function -.type __mlibc_entry, %function - -.cfi_startproc -_start: -.cfi_undefined eip - xor %ebp, %ebp - mov %esp, %edi - call 1f - -1: - pop %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx - push main@GOT(%ebx) - push %edi - call __mlibc_entry@plt -.cfi_endproc - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/crt-src/crt1.S b/lib/mlibc/sysdeps/linux/x86/crt-src/crt1.S deleted file mode 100644 index ed45da3..0000000 --- a/lib/mlibc/sysdeps/linux/x86/crt-src/crt1.S +++ /dev/null @@ -1,18 +0,0 @@ -.section .text -.global _start - -.type _start, %function -.type main, %function -.type __mlibc_entry, %function - -.cfi_startproc -_start: -.cfi_undefined eip - xor %ebp, %ebp - mov %esp, %ecx - push $main - push %ecx - call __mlibc_entry -.cfi_endproc - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/crt-src/crti.S b/lib/mlibc/sysdeps/linux/x86/crt-src/crti.S deleted file mode 100644 index e232557..0000000 --- a/lib/mlibc/sysdeps/linux/x86/crt-src/crti.S +++ /dev/null @@ -1,11 +0,0 @@ -.section .init -.global _init -_init: - pushl %eax - -.section .fini -.global _fini -_fini: - pushl %eax - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/crt-src/crtn.S b/lib/mlibc/sysdeps/linux/x86/crt-src/crtn.S deleted file mode 100644 index d890289..0000000 --- a/lib/mlibc/sysdeps/linux/x86/crt-src/crtn.S +++ /dev/null @@ -1,9 +0,0 @@ -.section .init - popl %eax - ret - -.section .fini - popl %eax - ret - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/signals.S b/lib/mlibc/sysdeps/linux/x86/signals.S deleted file mode 100644 index 8127ee4..0000000 --- a/lib/mlibc/sysdeps/linux/x86/signals.S +++ /dev/null @@ -1,18 +0,0 @@ -.section .text - -.global __mlibc_signal_restore -.type __mlibc_signal_restore, @function -__mlibc_signal_restore: - popl %eax - mov $119, %eax - int $0x80 - ud2 - -.global __mlibc_signal_restore_rt -.type __mlibc_signal_restore_rt, @function -__mlibc_signal_restore_rt: - mov $173, %eax - int $0x80 - ud2 - -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/linux/x86/syscallnos.h b/lib/mlibc/sysdeps/linux/x86/syscallnos.h deleted file mode 100644 index f75eb0a..0000000 --- a/lib/mlibc/sysdeps/linux/x86/syscallnos.h +++ /dev/null @@ -1,433 +0,0 @@ -#ifndef __MLIBC_SYSCALLNOS_h -#define __MLIBC_SYSCALLNOS_h -/* This file is autogenerated. Don't bother. */ -/* Generator script: sysdeps/linux/update-syscall-list.py. */ -#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_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_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_signal 48 -#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_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_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_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_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_getdents64 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_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 -#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 260 -#define __NR_timer_gettime 261 -#define __NR_timer_getoverrun 262 -#define __NR_timer_delete 263 -#define __NR_clock_settime 264 -#define __NR_clock_gettime 265 -#define __NR_clock_getres 266 -#define __NR_clock_nanosleep 267 -#define __NR_statfs64 268 -#define __NR_fstatfs64 269 -#define __NR_tgkill 270 -#define __NR_utimes 271 -#define __NR_fadvise64_64 272 -#define __NR_mbind 274 -#define __NR_get_mempolicy 275 -#define __NR_set_mempolicy 276 -#define __NR_mq_open 277 -#define __NR_mq_unlink 278 -#define __NR_mq_timedsend 279 -#define __NR_mq_timedreceive 280 -#define __NR_mq_notify 281 -#define __NR_mq_getsetattr 282 -#define __NR_kexec_load 283 -#define __NR_waitid 284 -#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 -#define __NR_copy_file_range 377 -#define __NR_preadv2 378 -#define __NR_pwritev2 379 -#define __NR_pkey_mprotect 380 -#define __NR_pkey_alloc 381 -#define __NR_pkey_free 382 -#define __NR_statx 383 -#define __NR_arch_prctl 384 -#define __NR_io_pgetevents 385 -#define __NR_rseq 386 -#define __NR_semget 393 -#define __NR_semctl 394 -#define __NR_shmget 395 -#define __NR_shmctl 396 -#define __NR_shmat 397 -#define __NR_shmdt 398 -#define __NR_msgget 399 -#define __NR_msgsnd 400 -#define __NR_msgrcv 401 -#define __NR_msgctl 402 -#define __NR_clock_gettime64 403 -#define __NR_clock_settime64 404 -#define __NR_clock_adjtime64 405 -#define __NR_clock_getres_time64 406 -#define __NR_clock_nanosleep_time64 407 -#define __NR_timer_gettime64 408 -#define __NR_timer_settime64 409 -#define __NR_timerfd_gettime64 410 -#define __NR_timerfd_settime64 411 -#define __NR_utimensat_time64 412 -#define __NR_pselect6_time64 413 -#define __NR_ppoll_time64 414 -#define __NR_io_pgetevents_time64 416 -#define __NR_recvmmsg_time64 417 -#define __NR_mq_timedsend_time64 418 -#define __NR_mq_timedreceive_time64 419 -#define __NR_semtimedop_time64 420 -#define __NR_rt_sigtimedwait_time64 421 -#define __NR_futex_time64 422 -#define __NR_sched_rr_get_interval_time64 423 -#define __NR_pidfd_send_signal 424 -#define __NR_io_uring_setup 425 -#define __NR_io_uring_enter 426 -#define __NR_io_uring_register 427 -#define __NR_open_tree 428 -#define __NR_move_mount 429 -#define __NR_fsopen 430 -#define __NR_fsconfig 431 -#define __NR_fsmount 432 -#define __NR_fspick 433 -#define __NR_pidfd_open 434 -#define __NR_clone3 435 -#define __NR_close_range 436 -#define __NR_openat2 437 -#define __NR_pidfd_getfd 438 -#define __NR_faccessat2 439 -#define __NR_process_madvise 440 -#define __NR_epoll_pwait2 441 -#define __NR_mount_setattr 442 -#define __NR_quotactl_fd 443 -#define __NR_landlock_create_ruleset 444 -#define __NR_landlock_add_rule 445 -#define __NR_landlock_restrict_self 446 -#define __NR_memfd_secret 447 -#define __NR_process_mrelease 448 -#define __NR_futex_waitv 449 -#define __NR_set_mempolicy_home_node 450 -#endif /* __MLIBC_SYSCALLNOS_h */ diff --git a/lib/mlibc/sysdeps/linux/x86/thread_entry.S b/lib/mlibc/sysdeps/linux/x86/thread_entry.S deleted file mode 100644 index 031a6aa..0000000 --- a/lib/mlibc/sysdeps/linux/x86/thread_entry.S +++ /dev/null @@ -1,61 +0,0 @@ -#define FLAGS 4 -#define STACK FLAGS+4 -#define PTID STACK+4 -#define CTID PTID+4 -#define TLS CTID+4 - -.section .text -.global __mlibc_spawn_thread -.type __mlibc_spawn_thread, "function" -.cfi_startproc -__mlibc_spawn_thread: - push %ebx - .cfi_adjust_cfa_offset 4 - .cfi_rel_offset ebx, 0 - push %esi - .cfi_adjust_cfa_offset 4 - .cfi_rel_offset esi, 0 - push %edi - .cfi_adjust_cfa_offset 4 - .cfi_rel_offset edi, 0 - - xor %eax, %eax - mov 12+FLAGS(%esp), %ebx - mov 12+STACK(%esp), %ecx - mov 12+PTID(%esp), %edx - /* On x86-32 tls and child_tid have to be reversed */ - mov 12+TLS(%esp), %esi - mov 12+CTID(%esp), %edi - mov $120, %al - - int $0x80 - - test %eax, %eax - jnz .parent_exit - - xor %ebp, %ebp - .cfi_undefined %eip - .cfi_undefined %ebp - - call 1f -1: - pop %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx - - call __mlibc_enter_thread@plt - hlt - -.parent_exit: - pop %edi - .cfi_adjust_cfa_offset -4 - .cfi_restore edi - pop %esi - .cfi_adjust_cfa_offset -4 - .cfi_restore esi - pop %ebx - .cfi_adjust_cfa_offset -4 - .cfi_restore ebx - ret -.cfi_endproc - -.section .note.GNU-stack,"",%progbits -- cgit v1.2.3