diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-07 17:28:52 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-07 18:24:51 -0500 |
commit | f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch) | |
tree | 93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/sysdeps/hyra | |
parent | bd5969fc876a10b18613302db7087ef3c40f18e1 (diff) |
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/sysdeps/hyra')
49 files changed, 0 insertions, 333 deletions
diff --git a/lib/mlibc/sysdeps/hyra/crt-x86_64/crt0.S b/lib/mlibc/sysdeps/hyra/crt-x86_64/crt0.S deleted file mode 100644 index 57f0dd1..0000000 --- a/lib/mlibc/sysdeps/hyra/crt-x86_64/crt0.S +++ /dev/null @@ -1,9 +0,0 @@ -.section .text - -.global _start -_start: - mov $main, %rdi - call __mlibc_entry - -.size _start, . - _start -.section .note.GNU-stack,"",%progbits diff --git a/lib/mlibc/sysdeps/hyra/generic/entry.cpp b/lib/mlibc/sysdeps/hyra/generic/entry.cpp deleted file mode 100644 index d5129af..0000000 --- a/lib/mlibc/sysdeps/hyra/generic/entry.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <bits/ensure.h> -#include <mlibc/elf/startup.h> -#include <stdint.h> -#include <stdlib.h> - -// defined by the POSIX library -void __mlibc_initLocale(); - -extern "C" uintptr_t *__dlapi_entrystack(); - -extern char **environ; -static mlibc::exec_stack_data __mlibc_stack_data; - -struct LibraryGuard { - LibraryGuard(); -}; - -static LibraryGuard guard; - -LibraryGuard::LibraryGuard() { - __mlibc_initLocale(); - - // Parse the exec() stack. - mlibc::parse_exec_stack(__dlapi_entrystack(), &__mlibc_stack_data); - mlibc::set_startup_data(__mlibc_stack_data.argc, __mlibc_stack_data.argv, - __mlibc_stack_data.envp); -} - -extern "C" void __mlibc_entry(int (*main_fn)(int argc, char *argv[], - char *env[])) { - // TODO: call __dlapi_enter, otherwise static builds will break (see Linux - // sysdeps) - auto result = main_fn(__mlibc_stack_data.argc, __mlibc_stack_data.argv, environ); - exit(result); -} diff --git a/lib/mlibc/sysdeps/hyra/generic/hyra.cpp b/lib/mlibc/sysdeps/hyra/generic/hyra.cpp deleted file mode 100644 index fb555b9..0000000 --- a/lib/mlibc/sysdeps/hyra/generic/hyra.cpp +++ /dev/null @@ -1,121 +0,0 @@ -#include <stddef.h> -#include <sys/types.h> -#include <hyra/syscall.h> - -namespace mlibc { -void sys_libc_log(const char *msg) { - __syscall(0, (uintptr_t)msg); -} - -int sys_anon_allocate(size_t size, void **pointer) { - (void)size; - (void)pointer; - while (1); -} - -void sys_libc_panic() { - sys_libc_log("\n** MLIBC PANIC **\n"); - while (1); -} - -int sys_tcb_set(void *pointer) { - (void)pointer; - - while (1); -} - -void sys_exit(int status) { -} - -void sys_seek(int fd, off_t offset, int whence, off_t *new_offset) { - (void)fd; - (void)offset; - (void)whence; - (void)new_offset; - - while (1); -} - -int sys_vm_map(void *hint, size_t size, int prot, int flags, int fd, - off_t offset, void **window) { - (void)hint; - (void)size; - (void)prot; - (void)flags; - (void)fd; - (void)offset; - (void)window; - - while (1); -} - -int sys_vm_unmap(void *address, size_t size) { - (void)address; - (void)size; - - while (1); -} - -int sys_anon_free(void *pointer, size_t size) { - (void)pointer; - (void)size; - - while (1); -} - -int sys_clock_get(int clock, time_t *secs, long *nanos) { - (void)clock; - (void)secs; - (void)nanos; - - while (1); -} - -int sys_futex_wait(int *pointer, int expected, const struct timespec *time) { - (void)pointer; - (void)expected; - (void)time; - - return 0; -} - -int sys_futex_wake(int *pointer) { - (void)pointer; - - return 0; -} - -int sys_open(const char *filename, int flags, mode_t mode, int *fd) { - (void)filename; - (void)flags; - (void)mode; - (void)fd; - - while (1); -} - -int sys_read(int fd, void *buf, size_t count, ssize_t *bytes_read) { - (void)fd; - (void)buf; - (void)count; - (void)bytes_read; - - while (1); -} - -int sys_write(int fd, const void *buffer, size_t count, ssize_t *written) { - (void)fd; - (void)buffer; - (void)count; - (void)written; - - while (1); -} - -int sys_close(int fd) { - (void)fd; - - while (1); -} - -} diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/access.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/access.h deleted file mode 120000 index cb83931..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/access.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/access.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/auxv.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/auxv.h deleted file mode 120000 index 6959fac..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/auxv.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/hyra/auxv.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/blkcnt_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/blkcnt_t.h deleted file mode 120000 index 0b0ec27..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/blkcnt_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/blkcnt_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/blksize_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/blksize_t.h deleted file mode 120000 index 7dc8d7c..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/blksize_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/blksize_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/clockid_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/clockid_t.h deleted file mode 120000 index 6a42da5..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/clockid_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/clockid_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/dev_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/dev_t.h deleted file mode 120000 index bca881e..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/dev_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/dev_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/epoll.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/epoll.h deleted file mode 120000 index eb4b76d..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/epoll.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/epoll.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/errno.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/errno.h deleted file mode 120000 index 6e507de..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/errno.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/errno.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/fcntl.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/fcntl.h deleted file mode 120000 index 463e2c9..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/fcntl.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/fcntl.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/fsblkcnt_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/fsblkcnt_t.h deleted file mode 120000 index 898dfb2..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/fsblkcnt_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/fsblkcnt_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/fsfilcnt_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/fsfilcnt_t.h deleted file mode 120000 index 791755c..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/fsfilcnt_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/fsfilcnt_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/gid_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/gid_t.h deleted file mode 120000 index abce6d6..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/gid_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/gid_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/in.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/in.h deleted file mode 120000 index 418d1d5..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/in.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/in.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/ino_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/ino_t.h deleted file mode 120000 index 4c20aca..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/ino_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/ino_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/inotify.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/inotify.h deleted file mode 120000 index b5cb282..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/inotify.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/inotify.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/ioctls.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/ioctls.h deleted file mode 120000 index 595106b..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/ioctls.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/ioctls.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/limits.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/limits.h deleted file mode 120000 index 6c88db2..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/limits.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/limits.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/mode_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/mode_t.h deleted file mode 120000 index 5d78fdf..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/mode_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/mode_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/mqueue.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/mqueue.h deleted file mode 120000 index fa87b07..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/mqueue.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/mqueue.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/msg.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/msg.h deleted file mode 120000 index f402b49..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/msg.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/msg.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/nlink_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/nlink_t.h deleted file mode 120000 index bb3b625..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/nlink_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/nlink_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/packet.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/packet.h deleted file mode 120000 index 998ef1a..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/packet.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/packet.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/pid_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/pid_t.h deleted file mode 120000 index baa90f6..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/pid_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/pid_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/poll.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/poll.h deleted file mode 120000 index 8ea6a0a..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/poll.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/poll.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/ptrace.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/ptrace.h deleted file mode 120000 index b2517b2..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/ptrace.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/ptrace.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/reboot.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/reboot.h deleted file mode 120000 index 77013a4..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/reboot.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/reboot.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/resource.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/resource.h deleted file mode 120000 index 88d7402..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/resource.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/resource.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/seek-whence.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/seek-whence.h deleted file mode 120000 index df7bccf..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/seek-whence.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/seek-whence.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/shm.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/shm.h deleted file mode 120000 index 067d8c4..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/shm.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/shm.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/signal.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/signal.h deleted file mode 120000 index 4dcb0b7..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/signal.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/signal.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/socket.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/socket.h deleted file mode 120000 index f1dc016..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/socket.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/socket.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/socklen_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/socklen_t.h deleted file mode 120000 index 41f3b11..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/socklen_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/socklen_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/stat.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/stat.h deleted file mode 120000 index 1f63b41..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/stat.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/stat.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/statfs.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/statfs.h deleted file mode 120000 index e3d202f..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/statfs.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/statfs.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/statvfs.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/statvfs.h deleted file mode 120000 index 1fc80c2..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/statvfs.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/statvfs.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/suseconds_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/suseconds_t.h deleted file mode 120000 index 9ed6597..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/suseconds_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/suseconds_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/termios.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/termios.h deleted file mode 120000 index ee8f0b0..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/termios.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/termios.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/time.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/time.h deleted file mode 120000 index 2a02625..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/time.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/time.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/uid_t.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/uid_t.h deleted file mode 120000 index b306777..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/uid_t.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/uid_t.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/utsname.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/utsname.h deleted file mode 120000 index b285754..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/utsname.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/utsname.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/vm-flags.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/vm-flags.h deleted file mode 120000 index bbe258c..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/vm-flags.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/vm-flags.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/vt.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/vt.h deleted file mode 120000 index 5798a4a..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/vt.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/vt.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/wait.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/wait.h deleted file mode 120000 index feb2840..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/wait.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/wait.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/abi-bits/xattr.h b/lib/mlibc/sysdeps/hyra/include/abi-bits/xattr.h deleted file mode 120000 index 66412d7..0000000 --- a/lib/mlibc/sysdeps/hyra/include/abi-bits/xattr.h +++ /dev/null @@ -1 +0,0 @@ -../../../../abis/linux/xattr.h
\ No newline at end of file diff --git a/lib/mlibc/sysdeps/hyra/include/hyra/syscall.h b/lib/mlibc/sysdeps/hyra/include/hyra/syscall.h deleted file mode 100644 index f38a59b..0000000 --- a/lib/mlibc/sysdeps/hyra/include/hyra/syscall.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef _HYRA_SYSCALL_H_ -#define _HYRA_SYSCALL_H_ - -#define SYS_debug 0 -#define SYS_exit 1 - -__attribute__((__always_inline__)) -static inline long syscall0() { - volatile long ret; - asm volatile("int $0x80" : "=a"(ret)); - return ret; -} - -__attribute__((__always_inline__)) -static inline long syscall1(uint64_t code, uint64_t arg0) { - volatile long ret; - asm volatile("int $0x80" - : "=a"(ret) - : "a"(code), - "D"(arg0) : "memory"); - return ret; -} - -__attribute__((__always_inline__)) -static inline long syscall2(uint64_t code, uint64_t arg0, uint64_t arg1) { - volatile long ret; - asm volatile("int $0x80" - : "=a"(ret) - : "a"(code), - "D"(arg0), - "S"(arg1) - : "memory"); - return ret; -} - -__attribute__((__always_inline__)) -static inline long syscall3(uint64_t code, uint64_t arg0, uint64_t arg1, uint64_t arg2) { - volatile long ret; - asm volatile("int $0x80" - : "=a"(ret) - : "a"(code), - "D"(arg0), - "S"(arg1), - "d"(arg2) - : "memory"); - return ret; -} - -#define _GET_SYSCALL(a0, a1, a2, a3, name, ...) name - -#define __syscall(...) \ - _GET_SYSCALL(__VA_ARGS__, syscall3, syscall2, syscall1, \ - syscall0)(__VA_ARGS__) - -#endif /* !_HYRA_SYSCALL_H_ */ diff --git a/lib/mlibc/sysdeps/hyra/meson.build b/lib/mlibc/sysdeps/hyra/meson.build deleted file mode 100644 index 80136db..0000000 --- a/lib/mlibc/sysdeps/hyra/meson.build +++ /dev/null @@ -1,69 +0,0 @@ -rtdl_dso_sources += files( - 'generic/hyra.cpp' -) - -libc_sources += files( - 'generic/entry.cpp', - 'generic/hyra.cpp', -) - -if not no_headers - install_headers( - 'include/abi-bits/auxv.h', - 'include/abi-bits/seek-whence.h', - 'include/abi-bits/vm-flags.h', - 'include/abi-bits/errno.h', - 'include/abi-bits/fcntl.h', - 'include/abi-bits/in.h', - 'include/abi-bits/resource.h', - 'include/abi-bits/signal.h', - 'include/abi-bits/stat.h', - 'include/abi-bits/socket.h', - 'include/abi-bits/termios.h', - 'include/abi-bits/time.h', - 'include/abi-bits/blkcnt_t.h', - 'include/abi-bits/blksize_t.h', - 'include/abi-bits/dev_t.h', - 'include/abi-bits/gid_t.h', - 'include/abi-bits/ino_t.h', - 'include/abi-bits/mode_t.h', - 'include/abi-bits/nlink_t.h', - 'include/abi-bits/pid_t.h', - 'include/abi-bits/uid_t.h', - 'include/abi-bits/access.h', - 'include/abi-bits/wait.h', - 'include/abi-bits/limits.h', - 'include/abi-bits/utsname.h', - 'include/abi-bits/ptrace.h', - 'include/abi-bits/poll.h', - 'include/abi-bits/epoll.h', - 'include/abi-bits/packet.h', - 'include/abi-bits/inotify.h', - 'include/abi-bits/clockid_t.h', - 'include/abi-bits/shm.h', - 'include/abi-bits/mqueue.h', - subdir: 'abi-bits', - follow_symlinks: true - ) - install_headers( - 'include/hyra/syscall.h', - subdir: 'hyra' - ) -endif - -if not headers_only - crt = custom_target('crt0', - build_by_default: true, - command: c_compiler.cmd_array() + ['-c', '-o', '@OUTPUT@', '@INPUT@'], - input: 'crt-x86_64/crt0.S', - output: 'crt0.o', - install: true, - install_dir: get_option('libdir') - ) -endif - -if host_machine.cpu_family() == 'x86_64' - # libc_sources += files('generic/signals.S') -else - error('Unknown architecture') -endif |