Andreas Kling
a356746d04
Compat work towards porting vim.
2019-02-26 15:57:59 +01:00
Andreas Kling
e0c1541847
Compat work towards making bash-5.0 build with less patches.
...
Hacked implementations of sigsetjmp() and siglongjmp(). I didn't know about
these APIs until just now, but I hope I got them right.
2019-02-26 14:05:28 +01:00
Andreas Kling
a7a456002e
LibC: Enough compat work to make binutils-2.32 build and run.
2019-02-23 17:24:50 +01:00
Andreas Kling
3a0a8848fb
Make syscall invocations look pleasant.
...
Old: Syscall::invoke(Syscall::SC_foo, (dword)arg1, (dword)arg2)
New: syscall(SC_foo, arg1, arg2)
2018-12-21 03:02:06 +01:00
Andreas Kling
464a16afa2
Implement signal() via sigaction() and get rid of sys$signal().
2018-11-28 22:27:32 +01:00
Andreas Kling
d5d45d1088
Rage hacking to get bash to run. It finally runs. So cool! :^)
2018-11-11 15:38:07 +01:00
Andreas Kling
3b2f172d48
A bunch of compat work (mostly stubs but some real implementations, too.)
...
Another pass at getting bash-1.14.7 to build. Not that many symbols remain.
2018-11-11 00:20:53 +01:00
Andreas Kling
6a0a2c9ab4
Some improvements to signals.
...
- Add sigprocmask() and sigpending().
- Forked children inherit signal dispositions and masks.
- Exec clears signal dispositions and masks.
2018-11-10 23:30:41 +01:00
Andreas Kling
7c3746592b
Add strsignal() and improve sharing signal numbers between LibC and kernel.
2018-11-06 15:45:16 +01:00
Andreas Kling
3024167cbd
Change syscall naming scheme.
2018-11-06 13:33:54 +01:00
Andreas Kling
46f0c28a4a
Add sigset_t helper functions to LibC.
2018-11-06 12:02:58 +01:00
Andreas Kling
153ea704af
Add some basic signal support.
...
It only works for sending a signal to a process that's in userspace code.
We implement reception by synthesizing a PUSHA+PUSHF in the receiving process
(operating on values in the TSS.)
The TSS CS:EIP is then rerouted to the signal handler and a tiny return
trampoline is constructed in a dedicated region in the receiving process.
Also hacked up /bin/kill to be able to send arbitrary signals (kill -N PID)
2018-11-06 10:56:41 +01:00
Andreas Kling
82f84bab11
More random compat hacking towards getting bash to build.
...
I'm now at the build stage where it complains about a bajillion missing
symbols. This is a good place to be!
2018-11-05 18:21:42 +01:00
Andreas Kling
e76312ab63
Lots of minor compat stuff while seeing if bash would build.
...
We're quite far from bash building, but we'll get there eventually!
2018-11-05 16:40:48 +01:00
Andreas Kling
3218f00099
Implement basic sys$kill() and add a /bin/kill
...
All it can do right now is send SIGKILL which just murders the target task.
2018-10-31 01:06:57 +01:00