Commit Graph

423 Commits

Author SHA1 Message Date
Giacomo Tesio 0b193807b6 qa: ensure awake works correctly in signal handlers
Jehanne's notes (like Plan9 ones) are not reentrant.
Thus an alarm can not be used to interrupt a syscall in a note handler.

Awake instead works properly also in a note handler.
2017-05-04 01:07:32 +02:00
Giacomo Tesio bd8ced55f1 qa: fix CID 168327 and CID 168326 2017-05-04 00:22:50 +02:00
Giacomo Tesio ec8d3427b7 qa: fix newlib test (CID 168329 and CID 168328) 2017-05-04 00:17:19 +02:00
Giacomo Tesio 6480cd0293 newlib: fix kill and signal trampoline 2017-05-03 23:37:43 +02:00
Giacomo Tesio d29859684b libposix: complete POSIX_signal_execute 2017-05-03 03:02:56 +02:00
Giacomo Tesio 3b35743a64 qa: nested_note checks that notes are enqueued in kernel 2017-05-03 02:23:26 +02:00
Giacomo Tesio bd5063666f libposix: introduce POSIX_signal_execute and PosixSignalDisposition enum 2017-05-03 01:14:53 +02:00
Giacomo Tesio 47573e2122 newlib: add 201-signals (broken as no default action occurs in newlib) 2017-05-02 01:15:10 +02:00
Giacomo Tesio cf974abe0e libposix: (almost working) waitpid 2017-05-02 00:57:18 +02:00
Giacomo Tesio be7c067507 newlib: fix qa_exit_translator in qa tests 2017-05-02 00:18:52 +02:00
Giacomo Tesio 8c33c921b4 libposix: draft waitpid (still broken) 2017-05-01 23:57:05 +02:00
Giacomo Tesio 690a89d3ce newlib: add test for waitpid (to implement) 2017-05-01 12:03:49 +02:00
Giacomo Tesio d49ba60dcb newlib: implement sleep and pipe 2017-04-30 17:01:45 +02:00
Giacomo Tesio bd22e5154c qa: wait for child in newlib/200-signals 2017-04-30 16:55:13 +02:00
Giacomo Tesio 14934ee51f libposix: sleep and pipe 2017-04-30 16:49:50 +02:00
Giacomo Tesio 3707eaece6 libposix: simplify kill 2017-04-30 16:49:01 +02:00
Giacomo Tesio d0b9ae9cac newlib: first test for signals 2017-04-29 00:33:54 +02:00
Giacomo Tesio b9304545f6 newlib: fix open_translator 2017-04-28 23:15:38 +02:00
Giacomo Tesio 28539041d0 newlib: one more test (fread) 2017-04-28 23:15:03 +02:00
Giacomo Tesio 2481b01515 qa: introduce runners and more tests for newlib
For each test, if a script exists with the same name of the test
plus the .runner suffix, the runner is run instead of the test.

As a first example qa/lib/newlib/testsuite/atexit is run by
qa/lib/newlib/testsuite/atexit.runner.

These .runner scripts allow more complex checks of the side effects
generated by the test.
2017-04-28 00:47:12 +02:00
Giacomo Tesio ac33157c37 kern: usbehcipc.c fix CID 155940: Out-of-bounds write 2017-04-25 16:07:47 +02:00
Giacomo Tesio 80a8501c05 kern/ip/gre: fix CID 156224: Uninitialized scalar variable 2017-04-25 15:53:20 +02:00
Giacomo Tesio ea6f34f4f7 kern: mark pexit() as noreturn
Since pexit() calls sched() it wont return to the caller.
Should fix

- CID 155655: Missing break in switch
- CID 155672: Missing break in switch
2017-04-24 09:55:45 +02:00
Giacomo Tesio 5c8200b9da qa: simple infrastructure to test output expectations 2017-04-24 00:06:33 +02:00
Giacomo Tesio 7ab8fecd80 newlib: qa checks from RedHat tests suite 2017-04-23 23:50:20 +02:00
Giacomo Tesio b9acacfcc8 coverity-scan.sh: set CPATH to workaround cross-compiling issues 2017-04-23 14:04:35 +02:00
Giacomo Tesio ac1176d9ff newlib: set CPATH for coverity too 2017-04-23 13:36:49 +02:00
Giacomo Tesio bd3884cc9c README.md: git submodule update --depth 1 (as newlib has a lot of history) 2017-04-23 12:25:10 +02:00
Giacomo Tesio e0901def6d continuous-build.sh: set CPATH to workaround cross-compiling issues 2017-04-22 18:57:25 +02:00
Giacomo Tesio 2c9e1fa260 newlib: fix typo 2017-04-22 18:30:06 +02:00
Giacomo Tesio c983cc4c59 newlib: set CPATH to cross compiler's includes 2017-04-22 18:25:31 +02:00
Giacomo Tesio 860f67ca6e newlib: travis-ci madness... why? why? 2017-04-22 18:06:31 +02:00
Giacomo Tesio 03fabf2031 newlib: travis-ci madness... why? 2017-04-22 18:05:04 +02:00
Giacomo Tesio b5fc12ec37 .travis.yml: try gcc-4.9 2017-04-22 17:47:51 +02:00
Giacomo Tesio c159c88b4d newlib: travis-ci madness 2017-04-22 17:46:49 +02:00
Giacomo Tesio 12c928f7f0 newlib: fix host configuration 2017-04-22 14:35:11 +02:00
Giacomo Tesio e932450b73 newlib: specify build and host to configure 2017-04-22 14:27:18 +02:00
Giacomo Tesio 25d20d27cd newlib: fix shell script 2017-04-22 14:00:09 +02:00
Giacomo Tesio 520e3e2787 devtools: newlib: print config.log on build error 2017-04-22 12:06:49 +02:00
Giacomo Tesio f0e5ff1f50 libposix: reindent license header 2017-04-22 00:49:02 +02:00
Giacomo Tesio c2982db8a2 newlib: run first QA checks 2017-04-22 00:46:55 +02:00
Giacomo Tesio 2f45a5e689 devtools: updated cross compiled newlib 2017-04-22 00:43:17 +02:00
Giacomo Tesio c2204d83a5 libposix: getppid 2017-04-22 00:40:39 +02:00
Giacomo Tesio d2a0389ae4 fs: no "default" posix library 2017-04-21 23:59:27 +02:00
Giacomo Tesio a1b4085b7b libc: keep __libc_init weak definition private 2017-04-21 23:58:06 +02:00
Giacomo Tesio 4142b70d32 libposix: allow custom translations of exit status 2017-04-21 23:56:43 +02:00
Giacomo Tesio 61f47bce83 Fix posix.h license header
LibPOSIX is distributed as Affero GNU General Purpose License version 3, as you can see in the code. This was just a typo.
2017-04-20 01:01:47 +02:00
Giacomo Tesio 188a07782d libposix: initial draft 2017-04-19 23:48:54 +02:00
Giacomo Tesio e70feee4a3 libc: introduce "jehanne_" namespace
With this commit all functions declared in libc.h have been renamed
with the "jehanne_" prefix. This is done for several reason:

- it removes conflicts during symbol resolution when linking
  standard C libraries like newlib or musl
- it allows programs depending on a standard C library to directly
  link to a library depending on our non standard libc (eg libsec).

To ease transiction two files are provided:

- sys/include/lib9.h that can be included instead of <libc.h> to use
  the old names (via a simple set of macros)
- sys/src/lib/c/lib9.c that can be compiled with a program where the
  macro provided by lib9.h are too dumb (see for example rc or grep).

In the kernel port/lib.h has been modified accordingly and some of
the functions it directly provides has been renamed too (eg malloc
in qmalloc.c and print in devcons.c).
2017-04-19 23:48:21 +02:00
Giacomo Tesio d38f7bb488 cross-compiler: use automake 1.11.6 instead of 1.11.1 2017-03-23 18:44:52 +01:00