Alexander van der Grinten
4b07802dff
sysdeps/qword: Fix syscall number of sys_pipe()
2019-05-18 09:11:42 +02:00
qookie
44fc4d882f
sysdeps/managarm: add support for the DRM_IOCTL_MODE_CURSOR ioctl
2019-05-15 19:54:00 +02:00
Alexander van der Grinten
5c80d1df41
options/posix: Condense sys_pipe2 into sys_pipe
2019-05-12 18:18:24 +02:00
mintsuki
4e0324295e
Added pipe2 syscall and qword sysdep for it
2019-05-06 17:33:24 +02:00
Alexander van der Grinten
2dbce8a595
sysdeps/managarm: Maintain per-chunk RC in queue impl.
2019-05-04 16:28:27 +02:00
Alexander van der Grinten
1c6f48cd88
sysdeps/managarm: Implement sys_getcwd()
2019-05-04 15:13:20 +02:00
Alexander van der Grinten
50524753eb
sysdeps/managarm: Add size hints to various requests
2019-05-04 15:13:20 +02:00
Alexander van der Grinten
6a587df3f6
sysdeps/managarm: Return errors from execve()
2019-05-04 15:13:20 +02:00
Alexander van der Grinten
2cf826b2c4
sysdeps/managar: Support TIOC{G,S}WINSZ
2019-05-04 15:13:20 +02:00
Alexander van der Grinten
265a4fdd8a
sysdeps/managarm: Allow retrieval in sys_sigaction()
2019-03-23 14:11:48 +01:00
Alexander van der Grinten
044780a494
sysdeps/managarm: Report EPIPE from sys_msg_send()
2019-03-07 16:08:34 +01:00
mintsuki
582923e1af
Merge branch 'master' of https://github.com/managarm/mlibc
2019-03-05 20:13:09 +01:00
mintsuki
135b136ec6
qword: Add mkdir
2019-03-05 20:13:04 +01:00
Alexander van der Grinten
f9cbfe88a7
options/posix: Rework sys_stat and impl. statat()
2019-03-05 19:11:59 +01:00
mintsuki
852c126585
qword: Added unlink
2019-03-05 19:10:48 +01:00
Alexander van der Grinten
c651fd536b
sysdeps/managarm: Use POSIX lane from process data
2019-03-04 19:11:16 +01:00
Alexander van der Grinten
0299321051
sysdeps/managarm: Update to new process data ABI
2019-03-04 06:37:26 +01:00
mintsuki
2eff28f183
qword: add unlink stub
2019-03-02 13:29:52 +01:00
mintsuki
2b52cc7842
Added getcwd and futex qword sysdeps
2019-02-25 16:53:47 +01:00
Alexander van der Grinten
567174c6cb
sysdeps/qword: Impl. sys_access() using sys_open()
2019-02-23 17:17:53 +01:00
Alexander van der Grinten
7c87e37b73
sysdeps/qword: Implement sys_isatty()
2019-02-23 15:52:38 +01:00
Alexander van der Grinten
338e1e0018
options/ansi: Flush all open FILEs on exit()
2019-02-23 15:51:32 +01:00
mintsuki
15e78a8bd5
Add tcflow
2019-02-22 20:58:27 +01:00
mintsuki
1d389d903e
qword: Added more sysdeps
2019-02-13 19:05:35 +01:00
mintsuki
33cc5d4172
Added ttyname qword stub
2019-02-04 17:15:03 +01:00
Alexander van der Grinten
6362c0580b
sysdeps/managarm: Implement chdir()
2019-01-28 06:46:50 +01:00
Geert Custers
b03cdfed54
sysdeps/qword add clock_gettime and getrusage syscalls
2019-01-27 11:18:04 +01:00
Alexander van der Grinten
1f3eab5a7b
sysdeps/qword: Add cpu_time member of perfstats
2019-01-26 18:08:55 +01:00
Geert Custers
a9f7b62577
sysdeps/qword: add tcsetattr and tcgetattr syscalls
2019-01-24 08:41:12 +01:00
Alexander van der Grinten
510cbd3891
sysdeps/qword: Add syscall_time to perfstats
2019-01-20 18:01:06 +01:00
Alexander van der Grinten
542c62c88b
sysdeps/qword: Add perfmon API
2019-01-20 12:50:01 +01:00
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