Commit Graph

40 Commits

Author SHA1 Message Date
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