d3271963a8
some tests
2025-12-12 14:06:14 +01:00
b73ac766bf
need to compile with llvm because self-hosted doesn't work with asm
2025-12-12 09:21:09 +01:00
3211a7705b
revert Range compare
2025-12-11 12:33:56 +01:00
da69c60ffd
/proc/self/exe support
2025-12-11 12:25:52 +01:00
9ac107b398
respect /proc/sys/vm/mmap_min_addr
2025-12-11 11:56:01 +01:00
ef6cd851f7
remove unnecessary labels
2025-12-10 11:42:41 +01:00
557c98917c
support lto
2025-12-10 11:40:24 +01:00
c32cd74628
syscall tracing skeleton
2025-12-10 10:51:52 +01:00
a8f55f6d63
replace greedy strategy with a configurable count strategy
2025-12-09 07:51:16 +01:00
8d907f071c
convert Patcher to a global singleton
...
Migrates Patcher state to global variables and uses std.once for initialization.
This is preparing for future syscall tracing, which requires static access to
the patching context across the runtime to be accessed by flicken.
2025-12-09 07:07:22 +01:00
9d4f325a2c
enable lto for release builds
2025-12-08 15:07:57 +01:00
0788dd30f2
allow greedy allocation for faster patching
2025-12-08 15:03:44 +01:00
49ae70ec2c
try other allocation for relocation overflow
2025-12-08 09:56:00 +01:00
1922669c53
exlusive upper bound
2025-12-08 09:54:29 +01:00
434681eeb8
minor
2025-12-04 12:09:17 +01:00
9f42d161e9
neighbor eviction
2025-12-03 16:44:29 +01:00
6be43e1ff5
binary search in findAllocation
2025-12-03 15:51:15 +01:00
114157ccb7
respect mmap_min_addr
2025-12-03 13:14:48 +01:00
673ad2a33b
don't provide negative addresses
2025-12-03 13:11:56 +01:00
96b192f4af
allow negative jumps
2025-12-03 10:33:42 +01:00
b46bfc8dd7
stats
2025-12-03 10:33:01 +01:00
3ee245ba5f
successor trampoline shouldn't touch target one
2025-12-02 17:46:28 +01:00
d3788d132d
save instruction starts
2025-12-02 17:45:39 +01:00
2d19460095
fix relocation failures for smaller instructions
2025-12-02 17:45:20 +01:00
4bb03e8312
gitignore
2025-12-02 15:27:31 +01:00
5199678d2d
factor out patch tactics
2025-12-02 15:27:00 +01:00
0b330bedd2
speedup loading
2025-12-02 14:21:40 +01:00
c134c3b7cc
successor eviction
2025-12-02 14:21:21 +01:00
7c1e195402
split finding allocation range from actually allocating
2025-11-28 15:37:41 +01:00
c056457e97
small fix
2025-11-28 14:09:22 +01:00
5e81dfd69a
locked bytes
2025-11-28 14:00:32 +01:00
0f366c490e
applyPatch extracted
2025-11-28 14:00:17 +01:00
eaf2695dcd
statistics
2025-11-28 13:58:13 +01:00
64909ab1f1
rip relative instructions
2025-11-27 15:22:06 +01:00
73ce5e77b0
disassembler error handling
2025-11-22 09:42:17 +01:00
8e555d9feb
wip
2025-11-22 00:29:54 +01:00
393289b154
simplify one-off disassembly and formatting
2025-11-21 23:58:17 +01:00
16bc59de41
int3 padding
2025-11-21 22:01:27 +01:00
be668b19cd
nop patch for non rip relative instructions
2025-11-21 15:19:05 +01:00
d8bf37baf6
PatchInstructionIterator
2025-11-21 11:33:04 +01:00
311d0e19e3
minor
2025-11-20 11:11:46 +01:00
27f985bedf
init
2025-11-20 08:58:45 +01:00