Giacomo Tesio
0adf1b0431
new build: get rid of Go with few rc scripts.
2021-12-30 00:55:06 +01:00
Giacomo Tesio
16c7924425
libs: get rid of libstdio (and stdio.h); `mv ctype.h chartypes.h` in /sys/include
2020-09-17 23:53:35 +02:00
Giacomo Tesio
0a325039bf
gcc & system build: add `-9` and remove `--posix` from build files
2020-09-17 23:53:12 +02:00
Giacomo Tesio
f535d68985
qa: various fixes
2020-09-17 23:51:10 +02:00
Giacomo Tesio
bb2a39cc74
kern: fix compilation warning; raise qa timeouts
2020-09-17 23:49:33 +02:00
Giacomo Tesio
4067cb45cb
libc: refactoring
2020-09-17 23:47:39 +02:00
Giacomo Tesio
ea21d3cd2d
libposix: add support for O_NONBLOCK
...
We keep a list of non blocking fds and use awake to
make them not block on read, write, pread and pwrite.
2018-01-15 22:37:27 +01:00
Giacomo Tesio
001069aa7b
libposix: deep refactor; add sys/posixly command
...
With these changes, libposix (and newlib) can run MirBSD Korn Shell.
2017-12-18 23:02:36 +01:00
Giacomo Tesio
90c3415176
kernel: fix _procfdprint to use chan's flags
2017-10-25 01:17:31 +02:00
Giacomo Tesio
320e6e6f35
kern: clone $pid's namespace writing #p/$pid/ns
...
Any process X can get a new copy of the namespace of a target
process Y by writing the string "clone" to the ns file of Y.
The same user must own both processes.
The process writing the ns file must be allowed to mount.
The Pgrp of the calling process is then replaced with a new copy of
the Pgrp of the target process.
After the operation, any change done by X to its own namespace does
not affect Y. Also, if mount was forbidden for Y, it will also be
forbidden for X after the clone.
2017-10-24 23:28:14 +02:00
Giacomo Tesio
9202b04504
rc: use some uppercase variables (PATH, USER...)
2017-10-22 13:22:37 +02:00
Giacomo Tesio
d6d65887b2
libc: rename $apid to $APID
2017-10-20 02:05:13 +02:00
Giacomo Tesio
f3b882ba4a
qa: add setsid test to newlib
2017-09-08 00:15:12 +02:00
Giacomo Tesio
a97830e493
newlib: add qa test for setjmp/longjmp
2017-09-03 17:41:55 +02:00
Giacomo Tesio
6fd5c75ab3
qa/check: allow tests to SKIP themselves
2017-08-31 00:29:52 +02:00
Giacomo Tesio
e888e52502
qa: newlib: fix 102-files so that it works with disk based roots (runDisk.sh)
2017-08-30 00:15:50 +02:00
Giacomo Tesio
713eb8843f
libc: simplify access; libposix: let access lie
...
There are a few issues with Plan 9's `access`:
- it has side effects: to test the actual access (that the file
servers can allow or deny according to complex custom rules)
it opens and then closes the file, allocating (and disposing) the fd
- it does not work on directories, since
- they cannot be opened for writing, despite the fact that to
create a file in a directory you must be granted write access on
that directory
- they cannot be opened for execution, despite the fact that to
access a file in a directory you must be granted execution access
on that directory
Despite the fact that `access` (even on UNIX) is a violation of the
"tell, don't ask" principle (the access could be forbidden just after
its successful return, making subsequent `open` fail anyway), this
fact smells of a little design error in the file interface.
So, right now we choose to let the libposix's `access` lie on directories:
it will always return 0 on AWRITE and AEXEC for them, accepting that
a successive create/mkdir may fail.
However, a cleaner file API and protocol should allow a simpler `access`
to be implemented for directories too.
2017-08-29 00:17:51 +02:00
Giacomo Tesio
fe173086f7
qa: improved newlib/103-files.c (testing access, mkdir, chdir and getcwd)
2017-08-28 23:04:31 +02:00
Giacomo Tesio
9bdbd9b09d
qa: improve newlib/040-gettimeofday.c
2017-08-28 23:04:31 +02:00
Giacomo Tesio
b78613615d
libposix: add access
2017-08-28 23:04:12 +02:00
Giacomo Tesio
44fa703f84
qa: fix test newlib/040-gettimeofday.c
2017-08-25 23:33:10 +02:00
Giacomo Tesio
bd149a18f1
libposix: implement gettimeofday
2017-08-25 00:53:10 +02:00
Giacomo Tesio
2409419ba2
qa: fix 199-files-CLEAR.runner
2017-08-24 00:14:02 +02:00
Giacomo Tesio
6158d0e166
qa: newlib test for chdir and mkdir
2017-08-23 04:25:30 +02:00
Giacomo Tesio
511bbd36af
qa: newlib: better messages in 100-files
2017-08-22 02:45:49 +02:00
Giacomo Tesio
97c4c2bccb
qa: add test for opendir/readdir/closedir in newlib
2017-08-22 01:41:15 +02:00
Giacomo Tesio
6dd00801dc
libposix: introduce pause() (still to be integrated in newlib)
2017-08-18 00:50:07 +02:00
Giacomo Tesio
ef6aa99b74
qa: libc: slow note handlers cant't break sleep
2017-08-16 00:37:39 +02:00
Giacomo Tesio
d796c73e89
qa: fix broken.runner
2017-08-15 00:53:04 +02:00
Giacomo Tesio
df8bc2ce43
qa: increase rlockt1 timeout
2017-08-14 18:46:23 +02:00
Giacomo Tesio
1b4b6d1574
qa: reenable newlib's tests
2017-08-13 12:33:18 +02:00
Giacomo Tesio
d573d0a39c
qa: disable newlib's test 202-signals
2017-08-13 00:06:04 +02:00
Giacomo Tesio
99124f1578
qa: disable newlib's test 201-signals
...
For some reason it hangs on travis-ci.
2017-08-12 23:55:39 +02:00
Giacomo Tesio
e57ff30b63
qa: release cpu on newlib/201-signals and newlib/202-signals
2017-08-12 23:33:38 +02:00
Giacomo Tesio
93dfad6b0b
kernel: print proc info on addbroken
2017-08-12 23:32:35 +02:00
Giacomo Tesio
1c4a04cd30
qa: various fix to tests
2017-08-11 03:18:32 +02:00
Giacomo Tesio
2a38ee6ab6
qa: fix typo in test
2017-06-06 19:53:45 +02:00
Giacomo Tesio
4f97f4a80b
qa: disable broken tests
2017-06-05 22:11:36 +02:00
Giacomo Tesio
9f4472c3bb
kernel: simplified fork_chain test
2017-06-05 19:25:08 +02:00
Giacomo Tesio
2269a4bbd0
kernel: minimal test that panic the mmu code
2017-06-03 23:23:42 +02:00
Giacomo Tesio
a64a7b0d0e
qa: check that notes cannot eat wait messages
2017-05-30 01:00:03 +02:00
Giacomo Tesio
a8d42cecc9
newlib: use SIGINT to avoid abort
2017-05-29 23:45:00 +02:00
Giacomo Tesio
9dc9001469
newlib: test ignored signals (broken)
2017-05-29 01:53:37 +02:00
Giacomo Tesio
559e5429ed
newlib: tests for sigchld
2017-05-29 01:42:08 +02:00
Giacomo Tesio
fe168aa55d
newlib: introduce tests for SIGCHLD
2017-05-26 02:12:42 +02:00
Giacomo Tesio
5ca0ef085c
newlib: fix test for SIGSTOP/SIGCONT
2017-05-26 00:39:47 +02:00
Giacomo Tesio
439326fa1f
newlib: enabled more tests for signals (still broken)
2017-05-25 22:43:38 +02:00
Giacomo Tesio
f9c63742bb
qa: simplify test that crash with -O2
2017-05-22 23:18:47 +02:00
Giacomo Tesio
1eb450510a
qa: add test that crash with -O2
2017-05-21 23:16:41 +02:00
Giacomo Tesio
fa15f817c4
qa: avoid cast that preclude strict aliasing
2017-05-19 01:09:51 +02:00