Commit Graph

5577 Commits

Author SHA1 Message Date
boykopovar baa8a8d9d3 feat(libc): add ex tests + remove bad_alloc dup 2026-09-06 07:30:59 +03:00
boykopovar 57aedfcff0 chore(libs): include exceptions to libc export 2026-09-05 22:32:29 +03:00
boykopovar f449ebb636 fix(libc): fix exception matching + foreign exception handling 2026-09-05 20:13:14 +03:00
boykopovar 36c874e296 feat(libc): implement exception unwinding + array cleanup 2026-09-05 19:54:11 +03:00
boykopovar 6fcbf1f829 feat(libc): init c++ exception runtime for x8664 linux (wip) 2026-09-05 19:34:15 +03:00
boykopovar 9ac0798c09 feat(libc): add new std functions 2026-09-05 19:13:39 +03:00
boykopovar 4945be96ef feat(libs): runtime std dynamic linking for libc 2026-09-05 18:57:58 +03:00
boykopovar 4f760dd6ff feat(libc): add new exception symbols 2026-08-30 14:24:43 +03:00
boykopovar 271a850022 fix(libs): link std lib only to libc prx 2026-08-24 20:47:53 +03:00
boykopovar e82abc96c4 fix(nid): remove jump_slot records filtering 2026-08-22 19:35:34 +03:00
boykopovar a5e09e7e16 feat(libs): add new sceAgcDriver and sceUserServiceTerminate stubs 2026-08-22 17:02:29 +03:00
boykopovar 24f78f57cc feat(libs): implement missing locale and mbstate stubs for libc 2026-08-22 16:50:55 +03:00
boykopovar c27c547810 feat(libs): add locale support funcs to libc 2026-08-22 16:34:48 +03:00
boykopovar 85e3047c04 feat(libs): add atexit and atomic functions to libc 2026-08-22 16:22:19 +03:00
boykopovar a89b9228f1 fix(libs): fix libc building on win 2026-08-22 16:16:11 +03:00
boykopovar 5a1d7525f9 feat(libs): libc impl (wip) 2026-08-22 16:00:29 +03:00
boykopovar efd845fcfd fix(patcher): skip broken needed-library recomputation causing empty dt_needed 2026-08-22 15:21:26 +03:00
boykopovar b1f51a3e4b feat(nid): remap dynamic needed offsets 2026-08-22 14:11:42 +03:00
boykopovar e838a2d9df fix(nid): rebuild ghu hash for patched nid 2026-08-22 11:47:41 +03:00
boykopovar 8672a5cc3d fix(libs): libc export flag name fix 2026-08-22 11:18:42 +03:00
boykopovar b49279e832 fix(nid): update nid computing algorithm 2026-08-22 10:39:19 +03:00
boykopovar 54e66624ec fix(libs): fix nid compute algorithm - no lib name 2026-08-21 17:19:22 +03:00
boykopovar f23cc495f4 fix(nid): rebuild dynstr instead of in-place patch to avoid suffix-merge corruption 2026-08-21 16:24:16 +03:00
boykopovar e2646635d0 feat(libs): add lib ime backend stub 2026-08-21 16:08:10 +03:00
boykopovar 39ebe6a054 feat(libs): add libc shared lib stub 2026-08-21 15:56:03 +03:00
boykopovar 6dfd5a9296 refactor(nid): rename spec cpp + move utils 2026-08-21 15:16:25 +03:00
boykopovar c6550929e9 refactor(nid): windows and linux pathing separating via interface 2026-08-21 15:00:55 +03:00
boykopovar 55a120e318 fix(nid): detect linker suffix-merged symbol names postfixes 2026-08-21 14:45:07 +03:00
boykopovar ca37e667f9 fix(nid): patch linux nid in place + detailed overflow msg 2026-08-21 14:13:58 +03:00
boykopovar 486bb51167 fix(nid): exclude undefined dynamic symbols from elf nid patching 2026-08-21 00:32:00 +03:00
boykopovar 8627076df5 fix(libs): drop std name collisions via nid postfix + remove custom entry point 2026-08-21 00:26:40 +03:00
boykopovar ca38455917 fix(nid): grow export names in place within existing section padding for pe and elf 2026-08-21 00:15:21 +03:00
boykopovar 47099897ac fix(libs): fix libscelibcinternal crt symbol conflict, stray macro in pthread_once, missing typedefs, unnamed params 2026-08-20 23:58:06 +03:00
boykopovar 59bee8d187 feat(libs): add libs function signatures 2026-08-20 23:18:16 +03:00
boykopovar aba18915ba fix(libs): fix nid patching after libs build 2026-08-20 17:32:00 +03:00
boykopovar 9e21a054e0 feat(libs): add rpx library build as libs target 2026-08-20 17:06:41 +03:00
boykopovar dd2481951d feat(elfpatcher): add dt_runpath libs/ support with configurable --rpath flag 2026-08-20 11:01:34 +03:00
boykopovar f786ea6576 fix(elfpatcher): use original dt pltgot vaddr 2026-08-20 09:41:34 +03:00
boykopovar 8236d4e1a2 fix(patcher): keep zero-vaddr code segment and fix stub entry vaddr 2026-08-19 15:40:57 +03:00
boykopovar 4147ca1f4c fix(patcher): preserve offset alignment for extra block vaddr 2026-08-18 19:04:48 +03:00
boykopovar 201c4f1d44 fix(patcher): compute virtual addresses for extra block 2026-08-18 18:59:27 +03:00
boykopovar 948017d734 fix(relinker): add dt pltgot to .dynamic + append elf sym write 24 bytes 2026-08-12 13:46:47 +03:00
boykopovar b62ffe327d feat(code): show count of repalced instructions 2026-08-05 13:57:10 +03:00
boykopovar 8c44cf4a52 feat(cli): cli flag for amd to intel convertion 2026-08-05 13:30:03 +03:00
boykopovar c4e4b6112a feat(code): add spec amd instructions to intel convert infrastructure 2026-08-05 13:18:09 +03:00
boykopovar fca8b8d7eb fix(code): add extrq decoding 2026-08-05 12:41:18 +03:00
boykopovar 1cc102f593 fix(code): fix branch offset recalculation after code removal 2026-08-05 11:09:00 +03:00
boykopovar c3e7b4c14a fix(code): decode setcc, evex, x87, of38/3a, shld/shrd + fix c1/of a4 immediate size bugs 2026-08-05 10:49:02 +03:00
boykopovar ab78ae90e2 fix(code): support vex prefix and imul decoding 2026-08-04 23:16:33 +03:00
boykopovar aeb9adfb33 refactor(code): move decoder opcodes to constexpr in header 2026-08-04 22:32:04 +03:00
boykopovar c14c1467c0 feat(code): throw exception for invalid instruction 2026-08-04 22:27:12 +03:00
boykopovar 2ac8a96d70 feat(code): add instruction rewriter implementation 2026-08-04 22:16:55 +03:00
boykopovar 88fca26a28 refactor(scanner): move scanner from relinker to separated module 2026-08-04 15:28:10 +03:00
boykopovar 9c7570176f refactor(patcher): move magic numbers to headers constexpr 2026-08-04 14:51:08 +03:00
boykopovar 0a44083bbf refactor(patcher): separate linux and windows elf patchers 2026-08-04 14:29:32 +03:00
boykopovar 007ba188bb feat(relinker): simplify got address resolution + validate entry sizes 2026-08-04 13:54:16 +03:00
boykopovar be508d9647 fix(relinker): validate dt_os/dt dynamic tags 2026-08-04 13:35:52 +03:00
boykopovar 39ae562b51 feat(core): relocation tables from pt dynamic instead of hardcoded offset 2026-08-04 13:32:22 +03:00
boykopovar 7689e85d8f refactor(patcher): folders structure for elfpatcher + byte writing di 2026-08-04 10:26:33 +03:00
boykopovar 516f13c327 fix(patcher): verify header block fits before first pt load 2026-08-04 09:49:09 +03:00
boykopovar 49f855cd4b refactor(core): describe original program headers with pt phdr 2026-08-04 09:45:09 +03:00
boykopovar 4f9316d7d7 fix(core): add pt phdr for relocated program headers 2026-08-04 09:36:52 +03:00
boykopovar 0193d5f655 fix(patcher): fix segments for success gdb recognizing 2026-08-04 02:02:03 +03:00
boykopovar 0fe6ad11f4 refactor(core): remove extra targets and cmake lists 2026-08-04 01:24:23 +03:00
boykopovar 850eae37eb refactor(core): separate io from domain logic + di 2026-08-04 00:28:58 +03:00
boykopovar e451fde738 fix(patcher): skip pt note and null-page pt load headers 2026-08-03 23:28:43 +03:00
boykopovar b05f877e15 feat(patcher): gen pt interp + executable entry stub 2026-08-03 23:04:11 +03:00
boykopovar 5718f6931a fix(patcher): create pt load segment for dynamic block 2026-08-03 22:53:39 +03:00
boykopovar 6b6004d974 refactor(relinker): clean arch + remove pipelines from main.cpp 2026-08-03 22:36:29 +03:00
boykopovar a4e7d3028e feat(relink): save output linux elf after checking (wip) 2026-08-03 22:13:15 +03:00
boykopovar 6b3deed7e4 fix(scanner): fix false positive fail from naive byte scan for syscall(wip) 2026-08-03 21:38:06 +03:00
boykopovar fe600cb641 fix(header): support pt dynamic import resolution 2026-08-03 21:32:01 +03:00
boykopovar 340a321cbe fix(header): fix read section headers 2026-08-03 21:22:07 +03:00
boykopovar 4d8fc76ff7 refactor(core): add some nodiscard and const 2026-08-03 21:05:36 +03:00
boykopovar 2654c8eb4b fix(types): update type names to fix bug with gcc 2026-08-03 20:40:27 +03:00
boykopovar 8a7c7c4e0d feat(log): add call reg writer 2026-08-03 20:27:55 +03:00
boykopovar 657ada06b3 initial commit 2026-08-03 20:02:52 +03:00