Commit Graph
8 Commits
Author SHA1 Message Date
Ryan Houdek 6e46a28116 Fixes bug in syscall gettime
gettime can have a nullptr argument and also we were using the wrong
argument
2020-03-06 07:56:02 +02:00
Ryan Houdek 9c873d85ec Fixes mmap syscall to work for dlopen and dlsym
This makes my test app that is loading ld.so with dlopen actually work.
2020-03-06 07:56:00 +02:00
Scott Mansell e9923fa704 Add lseek syscall 2020-03-06 07:56:00 +02:00
Scott Mansell 86fc779f81 Add getcwd syscall 2020-03-06 07:55:36 +02:00
Scott Mansell d32ebc0de0 Signal our lack of support for CET shadow stacks
Needed to support binaries linked with glibc 2.30 and later.

glibc doesn't actually check CPUID, as kernel support is needed.
Instead, it just calls ARCH_CET_STATUS and checks for an error.
2020-03-06 07:55:18 +02:00
Ryan Houdek 199cfd76d8 Refactor IR and other changes that are hard to split
I had to change how blocks are represented to make it easier to parse
This required a fairly substantial refactor that makes it so blocks are
represented differently and we can walk them sequentially.

This will make future analysis easier to deal with.
Had to rewrite the passes and core's parsing of the IR afterwards.

Moved RA in to a optimization pass to be shared between the JIT backends
This works because x86-64 and AArch64 RA can be identical.

Still doesn't support PHI nodes or spilling correctly, this is the first
step in the process of getting there.
2020-03-06 07:55:13 +02:00
Ryan Houdek 71a9713970 Add some stracing to the syscall emulation 2020-03-06 07:54:32 +02:00
Ryan Houdek 7252050e42 Initial commit 2020-03-06 07:48:39 +02:00