summaryrefslogtreecommitdiff
path: root/lib/mlibc/sysdeps/linux/x86_64
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-03-07 17:28:52 -0500
committerIan Moffett <ian@osmora.org>2024-03-07 18:24:51 -0500
commitf5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch)
tree93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/sysdeps/linux/x86_64
parentbd5969fc876a10b18613302db7087ef3c40f18e1 (diff)
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/sysdeps/linux/x86_64')
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/arch-syscall.cpp78
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/cp_syscall.S29
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/crt-src/Scrt1.S8
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/crt-src/crt1.S8
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/crt-src/crti.S11
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/crt-src/crtn.S9
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/signals.S14
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/syscallnos.h362
-rw-r--r--lib/mlibc/sysdeps/linux/x86_64/thread_entry.S23
9 files changed, 0 insertions, 542 deletions
diff --git a/lib/mlibc/sysdeps/linux/x86_64/arch-syscall.cpp b/lib/mlibc/sysdeps/linux/x86_64/arch-syscall.cpp
deleted file mode 100644
index d2ebbe7..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/arch-syscall.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <sys/syscall.h>
-#include <bits/syscall.h>
-
-using sc_word_t = __sc_word_t;
-
-sc_word_t __do_syscall0(long sc) {
- sc_word_t ret;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc)
- : "rcx", "r11", "memory");
- return ret;
-}
-
-sc_word_t __do_syscall1(long sc,
- sc_word_t arg1) {
- sc_word_t ret;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1)
- : "rcx", "r11", "memory");
- return ret;
-}
-
-sc_word_t __do_syscall2(long sc,
- sc_word_t arg1, sc_word_t arg2) {
- sc_word_t ret;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1), "S"(arg2)
- : "rcx", "r11", "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 ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1), "S"(arg2), "d"(arg3)
- : "rcx", "r11", "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;
- register sc_word_t arg4_reg asm("r10") = arg4;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1), "S"(arg2), "d"(arg3),
- "r"(arg4_reg)
- : "rcx", "r11", "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;
- register sc_word_t arg4_reg asm("r10") = arg4;
- register sc_word_t arg5_reg asm("r8") = arg5;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1), "S"(arg2), "d"(arg3),
- "r"(arg4_reg), "r"(arg5_reg)
- : "rcx", "r11", "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;
- register sc_word_t arg4_reg asm("r10") = arg4;
- register sc_word_t arg5_reg asm("r8") = arg5;
- register sc_word_t arg6_reg asm("r9") = arg6;
- asm volatile ("syscall" : "=a"(ret)
- : "a"(sc), "D"(arg1), "S"(arg2), "d"(arg3),
- "r"(arg4_reg), "r"(arg5_reg), "r"(arg6_reg)
- : "rcx", "r11", "memory");
- return ret;
-}
diff --git a/lib/mlibc/sysdeps/linux/x86_64/cp_syscall.S b/lib/mlibc/sysdeps/linux/x86_64/cp_syscall.S
deleted file mode 100644
index 5db1f1d..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/cp_syscall.S
+++ /dev/null
@@ -1,29 +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:
- mov %rdi, %rax
- mov %rsi, %rdi
- mov %rdx, %rsi
- mov %rcx, %rdx
- mov %r8, %r10
- mov %r9, %r8
- mov 8(%rsp), %r9
- mov %fs:0x30, %r11
-__mlibc_syscall_begin:
- /* tcbCancelEnableBit && tcbCancelTriggerBit */
- and $((1 << 0) | (1 << 2)), %r11
- cmp $((1 << 0) | (1 << 2)), %r11
- je cancel
- syscall
-__mlibc_syscall_end:
- ret
-
-cancel:
- call __mlibc_do_cancel
- hlt
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/crt-src/Scrt1.S b/lib/mlibc/sysdeps/linux/x86_64/crt-src/Scrt1.S
deleted file mode 100644
index d0e8213..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/crt-src/Scrt1.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.section .text
-.global _start
-_start:
- mov %rsp, %rdi
- lea main(%rip), %rsi
- call __mlibc_entry
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crt1.S b/lib/mlibc/sysdeps/linux/x86_64/crt-src/crt1.S
deleted file mode 100644
index 9b77ee7..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crt1.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.section .text
-.global _start
-_start:
- mov %rsp, %rdi
- mov $main, %rsi
- call __mlibc_entry
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crti.S b/lib/mlibc/sysdeps/linux/x86_64/crt-src/crti.S
deleted file mode 100644
index 911b078..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crti.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.section .init
-.global _init
-_init:
- push %rax
-
-.section .fini
-.global _fini
-_fini:
- push %rax
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crtn.S b/lib/mlibc/sysdeps/linux/x86_64/crt-src/crtn.S
deleted file mode 100644
index 0187e50..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/crt-src/crtn.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.section .init
- pop %rax
- ret
-
-.section .fini
- pop %rax
- ret
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/signals.S b/lib/mlibc/sysdeps/linux/x86_64/signals.S
deleted file mode 100644
index 09b4387..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/signals.S
+++ /dev/null
@@ -1,14 +0,0 @@
-
-.section .text
-
-.global __mlibc_signal_restore
-.type __mlibc_signal_restore, @function
-__mlibc_signal_restore:
-.global __mlibc_signal_restore_rt
-.type __mlibc_signal_restore_rt, @function
-__mlibc_signal_restore_rt:
- mov $15, %rax
- syscall
- ud2
-.section .note.GNU-stack,"",%progbits
-
diff --git a/lib/mlibc/sysdeps/linux/x86_64/syscallnos.h b/lib/mlibc/sysdeps/linux/x86_64/syscallnos.h
deleted file mode 100644
index 6c07e69..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/syscallnos.h
+++ /dev/null
@@ -1,362 +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_read 0
-#define __NR_write 1
-#define __NR_open 2
-#define __NR_close 3
-#define __NR_stat 4
-#define __NR_fstat 5
-#define __NR_lstat 6
-#define __NR_poll 7
-#define __NR_lseek 8
-#define __NR_mmap 9
-#define __NR_mprotect 10
-#define __NR_munmap 11
-#define __NR_brk 12
-#define __NR_rt_sigaction 13
-#define __NR_rt_sigprocmask 14
-#define __NR_rt_sigreturn 15
-#define __NR_ioctl 16
-#define __NR_pread64 17
-#define __NR_pwrite64 18
-#define __NR_readv 19
-#define __NR_writev 20
-#define __NR_access 21
-#define __NR_pipe 22
-#define __NR_select 23
-#define __NR_sched_yield 24
-#define __NR_mremap 25
-#define __NR_msync 26
-#define __NR_mincore 27
-#define __NR_madvise 28
-#define __NR_shmget 29
-#define __NR_shmat 30
-#define __NR_shmctl 31
-#define __NR_dup 32
-#define __NR_dup2 33
-#define __NR_pause 34
-#define __NR_nanosleep 35
-#define __NR_getitimer 36
-#define __NR_alarm 37
-#define __NR_setitimer 38
-#define __NR_getpid 39
-#define __NR_sendfile 40
-#define __NR_socket 41
-#define __NR_connect 42
-#define __NR_accept 43
-#define __NR_sendto 44
-#define __NR_recvfrom 45
-#define __NR_sendmsg 46
-#define __NR_recvmsg 47
-#define __NR_shutdown 48
-#define __NR_bind 49
-#define __NR_listen 50
-#define __NR_getsockname 51
-#define __NR_getpeername 52
-#define __NR_socketpair 53
-#define __NR_setsockopt 54
-#define __NR_getsockopt 55
-#define __NR_clone 56
-#define __NR_fork 57
-#define __NR_vfork 58
-#define __NR_execve 59
-#define __NR_exit 60
-#define __NR_wait4 61
-#define __NR_kill 62
-#define __NR_uname 63
-#define __NR_semget 64
-#define __NR_semop 65
-#define __NR_semctl 66
-#define __NR_shmdt 67
-#define __NR_msgget 68
-#define __NR_msgsnd 69
-#define __NR_msgrcv 70
-#define __NR_msgctl 71
-#define __NR_fcntl 72
-#define __NR_flock 73
-#define __NR_fsync 74
-#define __NR_fdatasync 75
-#define __NR_truncate 76
-#define __NR_ftruncate 77
-#define __NR_getdents 78
-#define __NR_getcwd 79
-#define __NR_chdir 80
-#define __NR_fchdir 81
-#define __NR_rename 82
-#define __NR_mkdir 83
-#define __NR_rmdir 84
-#define __NR_creat 85
-#define __NR_link 86
-#define __NR_unlink 87
-#define __NR_symlink 88
-#define __NR_readlink 89
-#define __NR_chmod 90
-#define __NR_fchmod 91
-#define __NR_chown 92
-#define __NR_fchown 93
-#define __NR_lchown 94
-#define __NR_umask 95
-#define __NR_gettimeofday 96
-#define __NR_getrlimit 97
-#define __NR_getrusage 98
-#define __NR_sysinfo 99
-#define __NR_times 100
-#define __NR_ptrace 101
-#define __NR_getuid 102
-#define __NR_syslog 103
-#define __NR_getgid 104
-#define __NR_setuid 105
-#define __NR_setgid 106
-#define __NR_geteuid 107
-#define __NR_getegid 108
-#define __NR_setpgid 109
-#define __NR_getppid 110
-#define __NR_getpgrp 111
-#define __NR_setsid 112
-#define __NR_setreuid 113
-#define __NR_setregid 114
-#define __NR_getgroups 115
-#define __NR_setgroups 116
-#define __NR_setresuid 117
-#define __NR_getresuid 118
-#define __NR_setresgid 119
-#define __NR_getresgid 120
-#define __NR_getpgid 121
-#define __NR_setfsuid 122
-#define __NR_setfsgid 123
-#define __NR_getsid 124
-#define __NR_capget 125
-#define __NR_capset 126
-#define __NR_rt_sigpending 127
-#define __NR_rt_sigtimedwait 128
-#define __NR_rt_sigqueueinfo 129
-#define __NR_rt_sigsuspend 130
-#define __NR_sigaltstack 131
-#define __NR_utime 132
-#define __NR_mknod 133
-#define __NR_uselib 134
-#define __NR_personality 135
-#define __NR_ustat 136
-#define __NR_statfs 137
-#define __NR_fstatfs 138
-#define __NR_sysfs 139
-#define __NR_getpriority 140
-#define __NR_setpriority 141
-#define __NR_sched_setparam 142
-#define __NR_sched_getparam 143
-#define __NR_sched_setscheduler 144
-#define __NR_sched_getscheduler 145
-#define __NR_sched_get_priority_max 146
-#define __NR_sched_get_priority_min 147
-#define __NR_sched_rr_get_interval 148
-#define __NR_mlock 149
-#define __NR_munlock 150
-#define __NR_mlockall 151
-#define __NR_munlockall 152
-#define __NR_vhangup 153
-#define __NR_modify_ldt 154
-#define __NR_pivot_root 155
-#define __NR__sysctl 156
-#define __NR_prctl 157
-#define __NR_arch_prctl 158
-#define __NR_adjtimex 159
-#define __NR_setrlimit 160
-#define __NR_chroot 161
-#define __NR_sync 162
-#define __NR_acct 163
-#define __NR_settimeofday 164
-#define __NR_mount 165
-#define __NR_umount2 166
-#define __NR_swapon 167
-#define __NR_swapoff 168
-#define __NR_reboot 169
-#define __NR_sethostname 170
-#define __NR_setdomainname 171
-#define __NR_iopl 172
-#define __NR_ioperm 173
-#define __NR_create_module 174
-#define __NR_init_module 175
-#define __NR_delete_module 176
-#define __NR_get_kernel_syms 177
-#define __NR_query_module 178
-#define __NR_quotactl 179
-#define __NR_nfsservctl 180
-#define __NR_getpmsg 181
-#define __NR_gettid 186
-#define __NR_readahead 187
-#define __NR_setxattr 188
-#define __NR_lsetxattr 189
-#define __NR_fsetxattr 190
-#define __NR_getxattr 191
-#define __NR_lgetxattr 192
-#define __NR_fgetxattr 193
-#define __NR_listxattr 194
-#define __NR_llistxattr 195
-#define __NR_flistxattr 196
-#define __NR_removexattr 197
-#define __NR_lremovexattr 198
-#define __NR_fremovexattr 199
-#define __NR_tkill 200
-#define __NR_time 201
-#define __NR_futex 202
-#define __NR_sched_setaffinity 203
-#define __NR_sched_getaffinity 204
-#define __NR_set_thread_area 205
-#define __NR_io_setup 206
-#define __NR_io_destroy 207
-#define __NR_io_getevents 208
-#define __NR_io_submit 209
-#define __NR_io_cancel 210
-#define __NR_get_thread_area 211
-#define __NR_lookup_dcookie 212
-#define __NR_epoll_create 213
-#define __NR_epoll_ctl_old 214
-#define __NR_epoll_wait_old 215
-#define __NR_remap_file_pages 216
-#define __NR_getdents64 217
-#define __NR_set_tid_address 218
-#define __NR_restart_syscall 219
-#define __NR_semtimedop 220
-#define __NR_fadvise64 221
-#define __NR_timer_create 222
-#define __NR_timer_settime 223
-#define __NR_timer_gettime 224
-#define __NR_timer_getoverrun 225
-#define __NR_timer_delete 226
-#define __NR_clock_settime 227
-#define __NR_clock_gettime 228
-#define __NR_clock_getres 229
-#define __NR_clock_nanosleep 230
-#define __NR_exit_group 231
-#define __NR_epoll_wait 232
-#define __NR_epoll_ctl 233
-#define __NR_tgkill 234
-#define __NR_utimes 235
-#define __NR_mbind 237
-#define __NR_set_mempolicy 238
-#define __NR_get_mempolicy 239
-#define __NR_mq_open 240
-#define __NR_mq_unlink 241
-#define __NR_mq_timedsend 242
-#define __NR_mq_timedreceive 243
-#define __NR_mq_notify 244
-#define __NR_mq_getsetattr 245
-#define __NR_kexec_load 246
-#define __NR_waitid 247
-#define __NR_add_key 248
-#define __NR_request_key 249
-#define __NR_keyctl 250
-#define __NR_ioprio_set 251
-#define __NR_ioprio_get 252
-#define __NR_inotify_init 253
-#define __NR_inotify_add_watch 254
-#define __NR_inotify_rm_watch 255
-#define __NR_migrate_pages 256
-#define __NR_openat 257
-#define __NR_mkdirat 258
-#define __NR_mknodat 259
-#define __NR_fchownat 260
-#define __NR_futimesat 261
-#define __NR_newfstatat 262
-#define __NR_unlinkat 263
-#define __NR_renameat 264
-#define __NR_linkat 265
-#define __NR_symlinkat 266
-#define __NR_readlinkat 267
-#define __NR_fchmodat 268
-#define __NR_faccessat 269
-#define __NR_pselect6 270
-#define __NR_ppoll 271
-#define __NR_unshare 272
-#define __NR_set_robust_list 273
-#define __NR_get_robust_list 274
-#define __NR_splice 275
-#define __NR_tee 276
-#define __NR_sync_file_range 277
-#define __NR_vmsplice 278
-#define __NR_move_pages 279
-#define __NR_utimensat 280
-#define __NR_epoll_pwait 281
-#define __NR_signalfd 282
-#define __NR_timerfd_create 283
-#define __NR_eventfd 284
-#define __NR_fallocate 285
-#define __NR_timerfd_settime 286
-#define __NR_timerfd_gettime 287
-#define __NR_accept4 288
-#define __NR_signalfd4 289
-#define __NR_eventfd2 290
-#define __NR_epoll_create1 291
-#define __NR_dup3 292
-#define __NR_pipe2 293
-#define __NR_inotify_init1 294
-#define __NR_preadv 295
-#define __NR_pwritev 296
-#define __NR_rt_tgsigqueueinfo 297
-#define __NR_perf_event_open 298
-#define __NR_recvmmsg 299
-#define __NR_fanotify_init 300
-#define __NR_fanotify_mark 301
-#define __NR_prlimit64 302
-#define __NR_name_to_handle_at 303
-#define __NR_open_by_handle_at 304
-#define __NR_clock_adjtime 305
-#define __NR_syncfs 306
-#define __NR_sendmmsg 307
-#define __NR_setns 308
-#define __NR_getcpu 309
-#define __NR_process_vm_readv 310
-#define __NR_process_vm_writev 311
-#define __NR_kcmp 312
-#define __NR_finit_module 313
-#define __NR_sched_setattr 314
-#define __NR_sched_getattr 315
-#define __NR_renameat2 316
-#define __NR_seccomp 317
-#define __NR_getrandom 318
-#define __NR_memfd_create 319
-#define __NR_kexec_file_load 320
-#define __NR_bpf 321
-#define __NR_execveat 322
-#define __NR_userfaultfd 323
-#define __NR_membarrier 324
-#define __NR_mlock2 325
-#define __NR_copy_file_range 326
-#define __NR_preadv2 327
-#define __NR_pwritev2 328
-#define __NR_pkey_mprotect 329
-#define __NR_pkey_alloc 330
-#define __NR_pkey_free 331
-#define __NR_statx 332
-#define __NR_io_pgetevents 333
-#define __NR_rseq 334
-#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_64/thread_entry.S b/lib/mlibc/sysdeps/linux/x86_64/thread_entry.S
deleted file mode 100644
index 954c6dd..0000000
--- a/lib/mlibc/sysdeps/linux/x86_64/thread_entry.S
+++ /dev/null
@@ -1,23 +0,0 @@
-
-.section .text
-.global __mlibc_spawn_thread
-.type __mlibc_spawn_thread, "function"
-__mlibc_spawn_thread:
- xor %eax, %eax
- /* The rest of the args are already in the right registers,
- * only need to fixup rcx to r10
- */
- mov %rcx, %r10
- mov $56, %al
- syscall
- test %eax, %eax
- jnz 1f
- xor %ebp, %ebp
- pop %rdi
- pop %rsi
- call __mlibc_enter_thread
- hlt
-1:
- ret
-.section .note.GNU-stack,"",%progbits
-