Commit Graph
68 Commits
Author SHA1 Message Date
Dean 39202df39c Merge pull request #14558 from Queuse/codex/unwrap-test-cases-20261031
test(tools): register SELF cases independently
2026-11-03 11:39:17 +13:00
Dean 90fcfb368a Merge pull request #14534 from Queuse/codex/unwrap-null-headers-20261031
fix(tools): preserve inactive SELF program headers
2026-11-03 11:38:54 +13:00
Ryuzaki bd13b4674d fix(tools): preserve mapped segments at address zero 2026-11-01 10:07:14 +00:00
Queuze a8090ef04e test(cmake): split SELF conversion checks 2026-11-01 00:13:03 -03:00
Queuze 521f55389d fix(tools): ignore unused SELF segment fields 2026-10-31 20:23:45 -03:00
Mohamed Malek Aifa d6938e57c3 fix(tools): reject invalid SELF segment alignment 2026-10-30 19:22:15 +01:00
JJenkx 2365b1010c fix(tests): decode unwrap_self CLI output as UTF-8 2026-10-30 05:06:26 -04:00
JJenkxandClaude Opus 5.5 ee5055268b fix(tests): pass guest_system_font, exec_arguments and unwrap_self under a non-ASCII TEMP on Windows
With %TEMP% outside ASCII (a profile like C:\Users\José), three tests
fail on Windows because they mix the two narrow encodings: MinGW's
std::filesystem::path::string() is UTF-8, while fopen, getenv and console
tools use the ANSI or OEM code page.

- guest_system_font opened its stderr capture file with
  fopen(path.string()); it now uses _wfopen on Windows.
- The exec_arguments fixture built the second program's environment from
  getenv, which returns ANSI bytes that execve rejects as invalid UTF-8;
  it now reads LD_LIBRARY_PATH and ANYPS5_LOADEXEC_TEST_ROOT as UTF-8
  through GetEnvironmentVariableW.
- unwrap_self decoded icacls output as UTF-8 (Python 3.15 UTF-8 mode);
  icacls writes the OEM code page, so it is decoded as "oem".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 15:20:20 -04:00
Dean 9181b37137 Merge pull request #12624 from rooklz/fix/unwrap-self-output-symlink-loop
fix(tools): report unwrap_self symbolic link loops as usage errors
2026-10-29 23:54:50 +13:00
Dean 01f2868b50 Merge pull request #11407 from veosett/codex/unwrap-self-program-headers
fix(tools): keep SELF PT_PHDR tables in the load image
2026-10-29 17:32:38 +13:00
rooklz eec38c219a fix(tools): report unwrap_self symbolic link loops as usage errors 2026-10-28 23:11:07 +00:00
Dean e550a71043 Merge pull request #11938 from rooklz/fix/unwrap-self-tls-layout
fix(tools): refuse PT_TLS layouts the relinkers reject when unwrapping
2026-10-29 07:24:06 +13:00
Kovalev Vladislav ee785992dd fix(tools): refuse mismatched SELF program header mappings 2026-10-28 19:19:02 +06:00
Kovalev Vladislav 1f21b45361 fix(tools): keep SELF PT_PHDR tables in the load image 2026-10-28 19:11:34 +06:00
MarcZX10 c753d8193c test(tools): unwrap a SELF whose load segments share one file range
The conversion has to be refused with the output-size message and leave no
output file.
2026-10-28 03:05:36 +00:00
rooklz ec90e82931 fix(tools): refuse TLS layouts the relinkers reject when unwrapping 2026-10-27 13:38:43 +00:00
Dean f60e7d052b Merge pull request #10580 from Bram910/fix/unwrap-elf-versions
fix(tools): reject unsupported inner ELF versions
2026-10-28 02:32:34 +13:00
Dean 6b5d9adb27 Merge pull request #11043 from plexerPK/codex/job-reference-finite-timeout
fix(tools): reject NaN JobManager reference timeouts
2026-10-27 18:30:30 +13:00
Dean 95833d842d Merge pull request #10923 from 1whythef2/fix/unwrap-contained-segment-alignment
fix(tools): preserve contained segment alignment when unwrapping SELF
2026-10-27 10:56:22 +13:00
Dean da1d222d52 Merge pull request #10733 from Bram910/fix/unwrap-elf-header-metadata
fix(tools): validate inner ELF machine and header size
2026-10-27 09:03:28 +13:00
plexerPK 4fa1cf0d55 fix(tools): reject NaN JobManager reference timeouts 2026-10-25 15:54:59 +01:00
plexerPK b6f33d10cc fix(tools): preserve recorded SELF segment host mapping 2026-10-25 14:42:02 +01:00
Jade'sG 2a45d721f6 fix(tools): stabilize overlapping SELF region selection 2026-10-25 19:45:03 +08:00
Jade'sG d5635e5728 fix(tools): preserve contained segment alignment when unwrapping SELF 2026-10-25 18:21:54 +08:00
MarcZX10 4f078782a1 test(tools): cover unwrap_self segments with stale offsets that cannot be placed 2026-10-25 06:37:02 +00:00
Bram910 e537509b7d test(tools): resolve JobManager artifact path expectations 2026-10-24 22:42:38 +02:00
Bram910 ee451b5a41 fix(tools): report refused JobManager modules cleanly 2026-10-24 22:24:03 +02:00
Bram910 efc4ed1b7b fix(tools): validate inner ELF machine and header size 2026-10-24 21:56:41 +02:00
Bram910 05bd732eaf test(tools): tighten inner ELF version regressions 2026-10-24 20:38:30 +02:00
Bram910 74285a827e fix(tools): reject unsupported inner ELF versions 2026-10-24 13:09:02 +02:00
Dean 8fc60685a7 Merge pull request #10224 from Project-MOC/codex/fix-unwrap-self-atomic-output
fix(tools): preserve SELF outputs on failed writes
2026-10-24 12:55:33 +13:00
Project-MOC db8785f6ce fix(tools): preserve new SELF output permissions 2026-10-23 18:33:14 +02:00
Project-MOC 1852888af9 fix(tools): preserve SELF outputs on failed writes 2026-10-23 18:20:22 +02:00
emirplus 81820edf30 fix(tools): reconfigure streams with backslashreplace in unwrap_self
Reconfigure sys.stdout and sys.stderr with backslashreplace error handling at the entrypoint of main() so unwrapping reports and error messages do not fail on Windows consoles configured with non-UTF-8 code pages.
2026-10-23 18:48:42 +03:00
Dean 92d5a052eb Merge pull request #8902 from THEBIGTOMMY13DEV/fix/self-program-header-overlap
fix(tools): reject SELF program tables overlapping the ELF header
2026-10-23 14:15:02 +13:00
Dean c9999808e7 Merge pull request #9328 from emirplus/fix/unwrap-self-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in unwrap_self
2026-10-23 10:43:41 +13:00
emirplus 032344e05a fix(tools): wrap entrypoint in main with stream reconfigure in unwrap_self 2026-10-21 21:35:18 +03:00
Kovalev Vladislav da1d9407ed fix(tools): bound total SELF alignment padding 2026-10-21 23:23:52 +06:00
Dean 26d1065e25 Merge pull request #8803 from AMRYB/fix/self-overlapping-load-regions
fix(tools): preserve load ownership when unwrapping SELF
2026-10-21 21:32:12 +13:00
THEBIGTOMMY13DEV ca376e7545 fix(tools): reject SELF program tables overlapping the ELF header 2026-10-21 01:05:56 -04:00
Dean 7d7b097407 Merge pull request #8543 from tkcm01/fix/unwrap-self-bss-segments
fix(tools): handle zero-size segments in unbacked PT_LOAD ranges in unwrap_self
2026-10-21 17:31:54 +13:00
Dean 2411c6e48b Merge pull request #8532 from valenciana-nc/fix/unwrap-self-minimal-alignment
fix(tools): avoid redundant padding when unwrapping SELF
2026-10-21 17:19:10 +13:00
Amr Yasser ecc88d1494 fix(tools): preserve load ownership when unwrapping SELF 2026-10-21 04:23:27 +03:00
tkcm01 7679fbd657 fix(tools): handle zero-size segments in unbacked PT_LOAD ranges in unwrap_self 2026-10-20 11:59:55 -04:00
Dean f0d8e6924d Merge pull request #6165 from MarcZX10/codex/unwrap-self-truncated-elf
fix(tools): reject unsupported inner ELF encodings
2026-10-21 04:46:15 +13:00
valenciana-nc 85cb95851b fix(tools): avoid redundant padding when unwrapping SELF 2026-10-20 09:15:49 -06:00
Adrià eca8d6cca4 Merge pull request #7820 from parl0v/fix/unwrap-self-segment-align
fix(tools): keep p_align for segments unwrap_self copies outside load segments
2026-10-20 04:18:47 +02:00
xXPBSXxandClaude Sonnet 5.5 360e8bd685 fix(tools): print unwrap_self reports as UTF-8 on every console
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 13:58:16 +02:00
Dean 08a0b7c95b Merge pull request #7702 from vittoriosalvadore/codex/fix-unwrap-empty-load-alignment
fix(tools): preserve empty load segment alignment when unwrapping SELF
2026-10-20 00:51:46 +13:00
Dean b62e0a8a7d Merge pull request #7713 from joedeangelis533-bot/fix/unwrap-file-backed-segments
fix(tools): reject unbacked segment data when unwrapping SELF
2026-10-19 23:51:55 +13:00