Commit graph

242 commits

Author SHA1 Message Date
Alexander van der Grinten a7785bc7b7 sysdeps/qword: Add getcwd() sysdeps 2019-01-13 14:51:12 +01:00
Alexander van der Grinten 8181cc0f37 sysdeps/qword: Do not fail on sys_anon_free() 2019-01-12 13:01:51 +01:00
Alexander van der Grinten a461184a36 sysdeps/managarm: Add getrusage() implementation 2019-01-12 12:06:40 +01:00
mintsuki 1538736a50 Add qword pipe sysdep 2019-01-10 11:05:53 +01:00
Alexander van der Grinten c0c49b4993 options/elf: Implement program_invocation_name 2019-01-09 19:05:44 +01:00
Alexander van der Grinten 932b87755b sysdeps/managarm: Add stub for sys_chdir() 2019-01-09 18:40:12 +01:00
mintsuki aae65d7de6 Added fcntl sysdep 2019-01-07 06:23:54 +01:00
Alexander van der Grinten 92bacdf8f5 meson: Support headers-only installation 2019-01-06 13:22:25 +01:00
mintsuki f55cc06c19 Change qword ABI for open flags 2019-01-06 05:44:03 +01:00
mintsuki 42d358427f qword: Added readdir sysdep, changed lseek ABI 2019-01-05 21:02:46 +01:00
mintsuki 40ba7eb663 Added dup2 qword sysdep 2019-01-05 18:31:22 +01:00
mintsuki f1618f85cc Added qword chdir sysdep 2019-01-04 18:11:41 +01:00
mintsuki 3d7b2c4d6e Added proper errno support 2019-01-03 18:55:48 +01:00
Alexander van der Grinten 484847fc78 sysdeps/managarm: Make sysdeps signal-safe 2019-01-03 18:48:43 +01:00
mintsuki a0984d8153 Added getppid sysdep 2019-01-03 17:52:26 +01:00
Alexander van der Grinten 06889cf255 sysdeps/managarm: Change sys_isatty() logic 2019-01-03 13:52:51 +01:00
mintsuki a16747dbdf Add qword waitpid sysdep and fix sysdep errno bug 2019-01-03 06:28:57 +01:00
mintsuki d9ced72226 Added more qword sysdeps 2019-01-01 15:19:34 +01:00
Alexander van der Grinten c8e1ebf1d0 meson: Move include dirs to main meson.build 2018-12-28 00:25:24 +01:00
mintsuki dd46d3c392 Added execve sysdep 2018-12-26 20:12:33 +01:00
Alexander van der Grinten d9d6ac5bea internal: Report sysdeps errors in return value
Before this patch, sysdeps functions reported their errors in errno.
Now, the error is reported in the return value and updating errno is
done by the wrapper function that calls into sysdeps.

This approach has the advantage that mlibc can call sysdeps without
having to worry about clobbering errno. Previously, annoying
errno save/restore boilerplate would have been necessary.

Fixes #3.
2018-12-24 19:49:48 +01:00
mintsuki e70ccf03d9 Added qword fork sysdep 2018-12-22 18:00:32 +01:00
Alexander van der Grinten 31bad7c79b ldso: Conditionally mmap() DSO segments 2018-12-21 18:00:27 +01:00
Alexander van der Grinten 54bf8be320 sysdeps/managarm: Add stub for TIOCGWINSZ 2018-12-21 17:52:05 +01:00
mintsuki da90a9550f Added more qword sysdeps 2018-12-20 15:09:45 +01:00
Alexander van der Grinten 12004849b7 sysdeps/qword: Add initialization code 2018-12-15 21:47:52 +01:00
Alexander van der Grinten ebb18e18a4 options/glibc: Move ioctl() here
This patch also provides sys_ioctl() on qword.
2018-12-08 11:24:50 +01:00
Alexander van der Grinten 2e1e191cc5 sysdeps/managarm: Fix abi-bits install path 2018-11-26 20:09:33 +01:00
mintsuki c7f66bd5c1 Add some qword syscall definitions 2018-11-24 19:52:56 +01:00
Alexander van der Grinten c38875821c build: Fix abi-bits install dir for qword 2018-11-21 20:39:58 +01:00
Alexander van der Grinten 02df8cc38e sysdeps/qword: Add stubs for posix option 2018-11-21 20:10:39 +01:00
Alexander van der Grinten 0f06d7f786 build: Build crt0.o on managarm and qword 2018-11-21 18:45:09 +01:00
Alexander van der Grinten 07cbe7215f sysdeps/qword: Add __mlibc_entry function 2018-11-21 18:24:07 +01:00
Alexander van der Grinten d2da3ca4bc build: Properly install all public headers 2018-11-21 06:34:45 +01:00
Alexander van der Grinten 5dc4ad18c7 sysdeps/qword: Fix ldso build problem 2018-11-21 06:10:39 +01:00
Alexander van der Grinten b9df3ad3c8 options/lsb: Move auxv constants to abi-bits/ 2018-11-18 19:05:45 +01:00
Alexander van der Grinten 16cb745066 Move ABI-specific header file fragments to abi/ 2018-11-18 18:36:11 +01:00
Alexander van der Grinten e1dbe62621 sysdeps/qword: Add sysdeps for qword 2018-11-17 16:05:57 +01:00
Alexander van der Grinten 814834f000 options/ansi: Fix bug in environment init 2018-11-14 18:49:46 +01:00
Alexander van der Grinten 06dd86bbd2 sysdeps/managarm: Remove frigg glue code 2018-11-11 13:47:13 +01:00
Alexander van der Grinten 15dcb5cfd3 libc: Some fixes in logging functionality 2018-11-11 13:42:24 +01:00
Alexander van der Grinten d19ae4d78f sysdeps/managarm: Fix sys_tcb_set() bug 2018-11-10 10:13:48 +01:00
Alexander van der Grinten 630608d095 libc: Factor general functions out of sysdeps 2018-11-10 10:11:56 +01:00
Alexander van der Grinten 3d9d495bee build: Refactor meson build files 2018-11-10 09:41:08 +01:00
Alexander van der Grinten a1aa32b27c libc: Add sysdeps function for futexes 2018-11-10 09:07:04 +01:00
Alexander van der Grinten 661ece24c9 managarm: Clean up sysdeps support file 2018-11-08 20:11:17 +01:00
Alexander van der Grinten fa29d8b09d rtdl: Use sys_tcb_set() instead of hel function 2018-11-08 19:53:02 +01:00
Alexander van der Grinten 1db8e5e09f rtdl: Use sys_vm_map() instead of hel functions 2018-11-08 19:51:27 +01:00
Alexander van der Grinten 3b5b2d2cb1 rtdl: Use sysdeps to access POSIX functions 2018-11-07 19:57:45 +01:00
Alexander van der Grinten 8d0759b35c rtdl: Switch to mlibc allocator 2018-11-05 20:15:53 +01:00
Alexander van der Grinten 51742fe086 rtdl: Use mlibc loggers instead of frigg loggers 2018-10-30 19:50:50 +01:00
Alexander van der Grinten 948aa68338 libc: Compile with -nostdinc 2018-10-29 19:55:08 +01:00
Alexander van der Grinten c302156323 rtdl: Import from managarm repository 2018-10-28 14:43:01 +01:00
Alexander van der Grinten 4e79fba631 libc: Remove remaining frigg loggers 2018-10-16 18:38:10 +02:00
Alexander van der Grinten 261bd97dd9 libc: Replace frigg utils by frg utils 2018-10-16 18:38:10 +02:00
Alexander van der Grinten b6265bcc5c libc: Replace frigg loggers by frg loggers 2018-10-16 18:38:10 +02:00
Alexander van der Grinten 3bcadf95d3 sysdeps/managarm: Add ioctl() stubs for Weston 3.0 2018-10-16 18:37:53 +02:00
Alexander van der Grinten 8cfc5fe985 internal: Switch to frg allocator 2018-10-16 18:37:53 +02:00
Alexander van der Grinten a7e081a0c1 sysdeps/managarm: Update to new AwaitClock API 2018-06-03 15:05:35 +02:00
Alexander van der Grinten 6a90e33d6b sysdeps/managarm: Implement signal() and waitpid() 2018-05-28 23:39:30 +02:00
Alexander van der Grinten 4ce89c86d4 sysdeps/managarm: Implement getsockopt() 2018-05-28 23:38:48 +02:00
Alexander van der Grinten 3d70b5e904 sysdeps/managarm: Support new HelQueue interface 2018-05-16 20:10:33 +02:00
Alexander van der Grinten 09d2e799a1 sysdeps/managarm: Use new queue descriptor API 2018-05-13 21:21:52 +02:00
Alexander van der Grinten 1814f2780f sysdeps/managarm: Implement EVIOCGABS 2018-05-11 18:33:14 +02:00
Alexander van der Grinten b771b1fdb9 sysdeps/managarm: Implement signals 2018-05-11 17:22:46 +02:00
Alexander van der Grinten bf179de692 sysdeps/managarm: Implement {send,recv}msg() flags 2018-05-06 11:56:22 +02:00
Alexander van der Grinten 261516dd61 sysdeps/managarm: Respect clocktracker seqlock 2018-05-05 14:27:17 +02:00
Alexander van der Grinten d8ab29d9b9 sysdeps/managarm: Implement single request poll() 2018-05-03 18:53:10 +02:00
Alexander van der Grinten c4d7a67a2a sysdeps/managarm: Implement lstat() 2018-04-29 21:17:08 +02:00
Alexander van der Grinten bd57614841 sysdeps/managarm: Implement TC{GET,SET}S ioctls() 2018-04-29 15:59:26 +02:00
Alexander van der Grinten 504295375c libc: Changes for bash on weston-terminal 2018-04-29 15:59:26 +02:00
Alexander van der Grinten 64ca9007e2 options/posix: Fix a few functions for bash 2018-04-08 14:43:37 +02:00
Alexander van der Grinten faf4974a40 options/linux: Basic pts support 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 5644b9dd88 options/ansi: Support FILE write buffering 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 2781aa3a01 sysdeps/managarm: Implement pipe() 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 862025474e sysdeps/managarm: Use SG I/O for sendmsg() 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 7e28e6cce4 options/ansi: Integrate fseek() and buffering 2018-04-08 14:43:37 +02:00
Alexander van der Grinten fcb29e01f9 sysdeps/managarm: Pass credentials on read/write 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 8ffc77e09f sysdeps/managarm: Support setsockopt() 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 4f8301dcc8 sysdeps/managarm: Pass dest. address in sendmsg() 2018-04-08 14:43:37 +02:00
Alexander van der Grinten ec2749f887 sysdeps/managarm: Implement getsockname() 2018-04-08 14:43:37 +02:00
Alexander van der Grinten 252ff171fe libc: Fix lots of stuff for udevd 2018-04-08 14:43:37 +02:00
Alexander van der Grinten fb1d9ac083 sysdeps/managarm: Move CMSG generation to POSIX 2018-03-23 22:10:19 +01:00
Alexander van der Grinten 3f8fe78552 sysdeps/managarm: Retrieve address for recvmsg() 2018-03-23 20:16:03 +01:00
Alexander van der Grinten c2747d03b7 options/posix: Various fix for udevd 2018-03-22 18:50:50 +01:00
Alexander van der Grinten 3874bea878 sysdeps/managarm: Implement rename() 2018-03-19 22:25:12 +01:00
Alexander van der Grinten 55d60fb1f5 sysdeps/managarm: Implement inotify_create() 2018-03-19 19:41:23 +01:00
Alexander van der Grinten d85eeffd23 sysdeps/managarm: Implement mkdir() and symlink() 2018-03-18 19:45:39 +01:00
Alexander van der Grinten 554b5220f8 sysdeps/managarm: Transfer creds. for sock. ops 2018-03-18 15:28:15 +01:00
Alexander van der Grinten e61ae3fded sysdeps/managarm: Implement bind() and connect() 2018-03-13 23:19:11 +01:00
Alexander van der Grinten 7b2e173805 sysdeps/managarm: Support epoll timeout 2018-03-12 20:56:10 +01:00
Alexander van der Grinten 0f6dd5d42e options/posix: Properly implement gettimeofday() 2018-03-04 17:17:13 +01:00
Alexander van der Grinten 1fdf51bae5 sysdeps/managarm: Use VM_REMAP to unmap memory 2018-03-03 11:40:39 +01:00
Alexander van der Grinten d34304a897 sysdeps/managarm: Pass argc and argv to main() 2018-03-02 22:23:15 +01:00
Alexander van der Grinten eb7a746e9f sysdeps/managarm: Implement F_GETFD fcntl() 2018-03-01 23:20:00 +01:00
Alexander van der Grinten 9bc7b09d20 sysdeps/managarm: Support EINVAL for read() 2018-03-01 23:20:00 +01:00
Alexander van der Grinten a11693d641 sysdeps/managarm: Report multiple epoll events 2018-03-01 23:20:00 +01:00
Alexander van der Grinten 0a1c62a259 sysdeps/managarm: Implement CLOEXEC for most funcs 2018-03-01 23:20:00 +01:00
Alexander van der Grinten d3fe2b4114 sysdeps/managarm: Support timerfd_create() flags 2018-03-01 23:20:00 +01:00
Alexander van der Grinten b0bf01babe sysdeps/managarm: Real impl. for input ioctls() 2018-02-26 23:39:45 +01:00
Alexander van der Grinten 36c6f69cf8 libc: Remove unnecessary log messages 2018-02-26 23:24:31 +01:00
Alexander van der Grinten 9c63f05d5f sysdeps/managarm: Hack together some evdev ioctls 2018-02-25 22:58:38 +01:00
Alexander van der Grinten dc931afbaf sysdeps/managarm: Support most evdev ioctls 2018-02-25 16:06:05 +01:00
Alexander van der Grinten 05d18fc2e6 sysdeps/managarm: Handle non-blocking read()s 2018-02-25 14:58:20 +01:00
Alexander van der Grinten 3b0f9b6109 mlibc: Add the DRM ioctls GET_MAGIC and AUTH_MAGIC 2018-02-24 18:32:07 +01:00
Alexander van der Grinten 6bef67bbd7 sysdeps/managarm: Report correct device in stat() 2018-02-24 13:58:41 +01:00
Alexander van der Grinten e9e0b05b50 sysdeps/managarm: Fix recvmsg() and sendmsg() 2018-02-21 22:31:26 +01:00
Alexander van der Grinten d71e2b026f options/ansi: Implement some timekeeping functions 2018-02-21 22:30:30 +01:00
Alexander van der Grinten cfdf3fc43d options/posix: Support mremap() 2018-02-20 21:11:24 +01:00
Alexander van der Grinten 15397facc0 options/posix: Implement recvmsg() and sendmsg() 2018-02-19 20:57:16 +01:00
Alexander van der Grinten 14d41a3b42 options/posix: Implement ftruncate() 2018-02-19 19:22:08 +01:00
Alexander van der Grinten a047553581 options/posix: Implement posix_fallocate() 2018-02-19 19:21:34 +01:00
Alexander van der Grinten 99dcd1d581 option/posix: Support unlink() 2018-02-19 19:20:23 +01:00
Alexander van der Grinten d077f67a47 sysdeps/managarm: Support open() flags 2018-02-19 19:19:54 +01:00
Andreas Hampicke 7c013f5cb7 libc: Move non-sysdeps functions out of sysdeps 2018-02-18 22:00:59 +01:00
Andreas Hampicke 0accd06ffe mlibc: Convert remaining functions to sysdeps 2018-02-18 21:48:14 +01:00
Alexander van der Grinten 080b622ebd options/linux: Fix poll() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten c477e99d8a options/linux: Implement timerfd_settime() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 9441bbe55d sysdeps/managarm: Fix sys_dup() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 6de0cf7d05 options/posix: Implement socket() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 18c5789dee libc: Implement more stubs for weston 2018-02-18 16:52:10 +01:00
Alexander van der Grinten f2a6102199 sysdeps/managarm: Support device types in stat() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 1dbb8bc900 options/ansi: Implement more of stdio 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 86d4019ae3 options/posix: Support dup() 2018-02-18 16:52:10 +01:00
Alexander van der Grinten db2a453b06 options/linux: Add initial timerfd() support 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 21cc551dfd libc: Fill in a few stubs for weston 2018-02-18 16:52:10 +01:00
Alexander van der Grinten 11bef71d03 options/linux: Add signalfd() 2018-02-18 16:52:10 +01:00
Andreas Hampicke bb48da434e libc: Add sysdeps API for access, isatty 2018-02-04 16:05:47 +01:00
Andreas Hampicke dd7c9197d8 libc: Add API for get-(uid,euid,gid,egid,pid,ppid) 2018-02-04 15:44:10 +01:00
Alexander van der Grinten 45de81d38c sysdeps/managarm: Handle file type from stat() 2018-02-04 15:39:05 +01:00
Alexander van der Grinten 4cd84deac6 sysdeps/managarm: Fix sys_fork() 2018-02-04 15:02:51 +01:00
Alexander van der Grinten da8e31c1e5 options/posix: Implement readlink() 2018-02-04 15:00:24 +01:00
Andreas Hampicke 5291c12f51 libc: Add sysdeps API for stat, fstat 2018-02-04 14:55:36 +01:00
Andreas Hampicke a436ca94cc libc: Add sysdeps API for fork, execve 2018-02-04 14:36:45 +01:00
Andreas Hampicke a1d2b3ca34 libc: Add sysdeps API for close, dup2 2018-02-04 14:36:45 +01:00
Andreas Hampicke 00acd2a19a libc: Add sysdeps API for schedyield,sleep,usleep 2018-02-04 14:36:44 +01:00
Alexander van der Grinten 22f5ec9e2a options/posix: Support readdir() 2018-02-04 12:39:47 +01:00
Andreas Hampicke 688504cdf0 libc: Add sysdeps API for free, malloc, realloc 2018-01-28 16:58:26 +01:00
Andreas Hampicke 2a11e32ec6 libc: Add sysdeps API for open, read, write, seek 2018-01-28 15:34:31 +01:00
Andreas Hampicke e5acf458f2 libc: Add sysdeps API for exit and time 2018-01-28 13:43:47 +01:00
Andreas Hampicke 291a9c0d54 mlibc: Update include directives 2018-01-24 21:29:25 +01:00
Andreas Hampicke 9be4673aed mlibc: Refactor directory structure 2018-01-21 19:51:23 +01:00