51 Commits

Author SHA1 Message Date
Theodore Dubois
2f5ce689d2 Don't warn about variables only used in log statements 2020-02-09 18:56:54 -08:00
Theodore Dubois
95cee3f3ed Implement utime 2019-07-07 17:37:00 -07:00
Theodore Dubois
ae689abff5 Require a siginfo when sending a signal 2019-06-22 20:48:49 -07:00
Theodore Dubois
032a218a63 Mark unused function arguments 2019-01-05 17:18:54 -08:00
Theodore Dubois
f126bfbc61 Support killing process groups 2018-12-09 18:58:08 -08:00
Theodore Dubois
12ed53a493 Introduce a replacement for pthread conditions and use that to make exit_group work 2018-11-08 18:57:06 -08:00
Theodore Dubois
f58063dddf Fix jit build on macOS 2018-09-18 19:44:29 -07:00
Theodore Dubois
e221670d91 Start translating gadgets into aarch64 2018-08-17 22:19:17 +00:00
Theodore Dubois
498c17b1a3 Foundations of jit, no actual compiling yet 2018-05-03 14:48:08 -07:00
Theodore Dubois
800a300b5c Rename CONCAT to glue 2018-04-06 15:20:35 -07:00
Theodore Dubois
6058cc6b7a Add a __no_instrument keyword to disable sanitizer instrumentation 2018-01-29 11:07:02 -08:00
Theodore Dubois
eddf023669 Move pwd, root, uname out into its own struct 2018-01-21 17:24:32 -08:00
Theodore Dubois
77f9c73be9 Remove magic from locking macros 2018-01-14 18:18:12 -08:00
Theodore Dubois
07c4ab82bf Add a read-write lock to the memory object 2017-12-24 16:02:15 -08:00
Theodore Dubois
5d2fdd3e18 Reduce magic in locking macros 2017-12-19 22:48:43 -08:00
Theodore Dubois
55b0560ab4 Replace __builtin_readcyclecounter with inline assembler 2017-12-13 12:56:32 -08:00
Theodore Dubois
b003dc7322 Fix debugger macro on arm 2017-12-13 12:56:32 -08:00
Theodore Dubois
5fd627f1ec Add typecheck macro 2017-11-27 17:16:23 -08:00
Theodore Dubois
9a5202ebec Replace fchown, chown, fchmod, chmod with setattr 2017-11-27 17:15:58 -08:00
Theodore Dubois
fb94468d50 Use lock macros everywhere 2017-10-14 14:22:49 -07:00
Theodore Dubois
93cfd4a514 Add fchmod and fchown32 2017-10-11 10:19:01 -07:00
Theodore Dubois
c7e8e6431d Implement statfs64 and fstatfs64 2017-09-16 18:27:06 -07:00
Theodore Dubois
274b7531af Refactor filesystem to not use paths 2017-09-06 15:39:04 -07:00
Theodore Dubois
3c4b180977 Implement TIOCGPGRP 2017-08-31 21:52:10 -07:00
Theodore Dubois
11f91108a5 Report that a process exited from a signal 2017-08-29 18:29:25 -07:00
Theodore Dubois
ea65057bed Add fpu support, somewhat working poll, separate tests into new project, \r\n, jeez I need to commit more often 2017-08-28 12:54:23 -07:00
Theodore Dubois
9dbaeee5db Implement poll, more seriously this time 2017-08-21 13:04:51 -07:00
Theodore Dubois
b22540a183 Finish implementing ttys
still missing poll
2017-08-19 18:37:08 -07:00
Theodore Dubois
6f51a471d9 Add lock helper macros 2017-08-04 00:54:18 -07:00
Theodore Dubois
d4c211be72 Implement EFAULT 2017-08-01 19:28:20 -07:00
Theodore Dubois
173edd9010 Add a new debug logging infrastructure thing 2017-07-28 17:39:32 -07:00
Theodore Dubois
a2fb2f6bdc Implement vfork, nanosleep, readv, wait4, setitimer 2017-07-27 13:09:48 -07:00
Theodore Dubois
3e590e92d2 Support putting the root filesystem in a directory
Also added repz cmpsb, support for executing dynamic libraries,
set_tid_address stub, and found an alternative to setup.c.
2017-07-23 18:15:59 -07:00
Theodore Dubois
0b00c0e8e3 Rearrange exit implementation 2017-07-12 18:19:11 -07:00
Theodore Dubois
6292a97b6e Implement clone system call, and copy-on-write 2017-07-11 15:08:47 -07:00
Theodore Dubois
a74f2869a3 Make busybox ls work 2017-06-20 18:21:32 -07:00
Theodore Dubois
e22ffe299a Add meson option to enable or disable debug logging 2017-06-18 14:21:55 -07:00
Theodore Dubois
559ae4cbcc Make Hello World with libc and ld work
IF you want to understand how amazing this is, watch https://www.twitch.tv/videos/152115137
2017-06-15 14:18:24 -07:00
Theodore Dubois
c90e717a40 Get up to mprotect on linker 2017-06-14 20:32:37 -07:00
Theodore Dubois
1c0b082513 Make filesystem work well enough for cat program 2017-06-07 14:30:48 -07:00
Theodore Dubois
6a9bc164a1 Add elf interpreter loading 2017-06-05 15:12:44 -07:00
Theodore Dubois
1cba915a2b Add fibbonaci benchmark
To make it work I also added some opcodes, cli argument support, and
sped up the memory compare thing in ptraceomatic.
2017-06-05 07:23:59 -07:00
Theodore Dubois
8cd8c258e7 Add a nice little looping benchmark
Currently shows ish with optimizations on is 20 times slower than a real
chip. I'm hoping I can get that down to 10 times slower.
2017-06-05 03:23:05 -07:00
Theodore Dubois
28d817ad86 Half-baked filesystem implementation 2017-06-03 16:10:49 -07:00
Theodore Dubois
3e4172de78 Implement TLB 2017-06-01 12:12:04 -07:00
Theodore Dubois
50b9fbd960 Separate memory reads and writes 2017-05-31 17:33:46 -07:00
Theodore Dubois
c6e628da5a Add two forms of movq and some jumps and arithmetic ops 2017-05-26 01:15:57 -07:00
Theodore Dubois
18602dfa87 Ptrace-O-Matic, dozens of opcodes, stack init, VDSO 2017-05-25 21:39:19 -07:00
Theodore Dubois
1f607b5774 Move up to first call instruction on clib program 2017-05-10 17:29:56 -07:00
Theodore Dubois
dc6c375554 Shut up debugging output 2017-05-08 13:41:36 -07:00