Dean
f5cda839ec
Merge pull request #4717 from Ondra97/codex/fix-relro-unused-filter
...
fix(relinker): map standalone RELRO in unused import filtering
2026-10-14 16:05:01 +13:00
Dean
d1b3aa1372
Merge pull request #5195 from SandstromPL/fix/relinker-sce-code-analysis-extent
...
fix(relinker): keep code analysis inside the code extent of PS4 executables
2026-10-14 15:49:02 +13:00
Dean
aa1927872f
Merge pull request #5197 from AlexOfTheForest/test/relinker-cli-module-and-target-options
...
test(cli): cover module-dir, sce-module-path and target option errors
2026-10-14 15:46:50 +13:00
Dean
a1e1b4d161
Merge pull request #5262 from NaitikJoshiPro/pr/relinker-executable-tls
...
feat(relinker): executable TLS relocations (TPOFF64, DTPOFF64, DTPMOD64)
2026-10-14 15:41:31 +13:00
Dean
0defec4386
Merge pull request #5199 from Zenodeon/conversion-diagnostics
...
fix(relinker): identify failed inputs and invalid dynamic values
2026-10-14 15:39:35 +13:00
Dean
c693bd7566
Merge pull request #5190 from NumberGuan/codex/check-lsda-landing-addresses
...
fix(relinker): reject overflowing LSDA landing pad addresses
2026-10-14 15:39:00 +13:00
Dean
959d39fb2b
Merge pull request #4801 from ArjenS-LA/fix/guest-posix-runpath
...
fix(relinker): validate Linux guest runpaths with target syntax
2026-10-14 14:45:57 +13:00
Dean
e5a272d7a6
Merge pull request #5359 from thuanquang/fix/output-path-directory
...
fix(relinker): reject a directory as the executable output path
2026-10-14 14:36:09 +13:00
Dean
3881dac903
Merge pull request #5148 from AaravMehta-07/codex/reject-relocatable-input
...
fix(relinker): reject relocatable ELF conversion inputs
2026-10-14 14:35:53 +13:00
Dean
54c2e14dc0
Merge pull request #5026 from AaravMehta-07/codex/reject-invalid-load-segments
...
fix(relinker): reject load file sizes beyond memory size
2026-10-14 14:35:37 +13:00
ArjenS-LA
394c5a231e
fix(relinker): validate Linux guest runpaths with target syntax
2026-10-14 14:14:38 +13:00
thuanquang
286cf28ec7
fix(relinker): reject a directory as the executable output path
...
An existing directory, or a path ending in a separator, was only
rejected when the executable was written, after the converted modules
had already been written to app0/ beside or inside it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 00:49:48 +07:00
Muhammad Wasif Ali Wasif
04421e7d4d
fix(relinker): build the manifest resource in paths with spaces
...
windres passes include directories to the preprocessor unquoted, so
relinker.rc failed to compile when the checkout path contains a space.
The resource is now an object library without the relinker's include
directories.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:43:59 +05:00
NaitikJoshiPro
6f856a7cda
feat(relinker): executable TLS relocations (TPOFF64, DTPOFF64, DTPMOD64)
...
A PS5 eboot can keep initial-exec TLS as R_X86_64_TPOFF64 GOT relocations
(SuperTuxKart, STKT00001, has 13, all without a symbol), which the
relocation allowlist rejected. Relocations against the executable's own
TLS block (no symbol, or a defined STT_TLS symbol folded into the addend)
now go to the Linux ELF as symbolless dynamic relocations that the
dynamic loader resolves against where it placed the block; one against an
import stays named and is typed STT_TLS. The Windows and macOS images
resolve TPOFF64 and DTPOFF64 statically against the block
AlignUp(p_memsz, p_align) below the thread pointer, the offset
WindowsTlsBuilder and MacOsImage use, and reject DTPMOD64 and imported
TLS. TPOFF32 stays unsupported.
New test executable_tls_relocations covers the Linux, Windows and macOS
outputs and the rejected cases.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:24:37 +05:30
Adrià
34cee1ef15
Merge pull request #4608 from MiniRML/fix/relinker-icon-png-chunks
...
fix(relinker): validate icon PNG critical chunks and order
2026-10-13 17:50:39 +02:00
Adrià
27477e5f47
Merge pull request #4583 from MiniRML/fix/relinker-section-name-address
...
fix(relinker): zero the unmapped section-name table address
2026-10-13 17:49:15 +02:00
Adrià
9dd3c2d1a6
Merge pull request #4547 from codingreapermaps/feat/relinker-trace-imports
...
feat(relinker): add --trace-imports for Windows executables
2026-10-13 17:48:21 +02:00
Adrià
3f2782cc7c
Merge pull request #4618 from Borooooo/fix/relinker-long-paths
...
fix(relinker): accept paths longer than 260 characters on Windows
2026-10-13 17:31:05 +02:00
Adrià
eb5bee4bfe
Merge pull request #4557 from saxopa/fix/relinker-linux-program-header-slots
...
fix(relinker): move the Linux program header table when it has no free slot
2026-10-13 17:04:41 +02:00
codingreapermaps
430e5c833e
feat(relinker): add --trace-imports for Windows executables
...
With --trace-imports the entry stub resolves TraceImport_nid_no_patch
in libc.prx and passes each function import through it before writing
the slot: every PLT slot, and a GOT slot only when the original symbol
is a function, so data imports such as __stdoutp keep their address.
Without the option the output is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 16:55:31 +02:00
SandstromPL
78f620cf9e
fix(relinker): keep code analysis inside the code extent of PS4 executables
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:10:51 +05:30
MiniRML
bfffd3359c
fix(relinker): validate icon PNG critical chunks and order
2026-10-13 16:38:28 +02:00
Zenodeon
b6c224af45
fix(relinker): keep diagnostics compatible with pending refactors
2026-10-13 18:37:50 +04:00
Zenodeon
36c11dc926
fix(relinker): identify failed inputs and invalid dynamic values
2026-10-13 18:37:50 +04:00
saxopa
b3fa9d8318
fix(relinker): move the Linux program header table when it has no free slot
...
Linux output reused the input program header table in place, so it could
hold no more entries than the input declared. A title whose kept segments
and the five synthetic headers did not fit lost PT_GNU_EH_FRAME with a
warning, or failed with "Not enough program header slots". When more
headers are needed, the table is now written at the end of the extra block,
e_phoff points there and PT_PHDR maps it through the extra block PT_LOAD;
the header block then maps only the ELF header. Bytes after the input table
are left as they were.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 16:20:00 +02:00
Alexej Szpevák
fc8165e8b9
test(cli): cover module-dir, sce-module-path and target option errors
...
Add parser tests for --module-dir, --sce-module-path, --macos and
--to-rosetta, including their repeat and conflict errors, which had no
coverage.
2026-10-13 16:17:23 +02:00
Tomás Ortellado
f0da9edbfe
fix(relinker): reject overflowing LSDA landing pad addresses
2026-10-13 11:05:22 -03:00
Aarav
6f0f7c7461
fix(relinker): reject relocatable ELF conversion inputs
2026-10-13 18:23:31 +05:30
Avijit Singh
48ea54ed3e
fix(relinker): include output stream header
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:05:37 +05:30
Avijit Singh
f23c5c2fd2
test(relinker): cover SELF skip warnings
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:04:49 +05:30
Avijit Singh
82f24e44a2
fix(relinker): warn on skipped SELF modules
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 18:04:49 +05:30
Adrià
afbc22fb1a
Merge pull request #4140 from veosett/fix/relinker-windows-fixed-base
...
feat(relinker): support fixed Windows guest image bases
2026-10-13 14:26:54 +02:00
Aarav
bc014a887c
fix(relinker): reject load file sizes beyond memory size
2026-10-13 17:55:11 +05:30
boykopovar
8485298e46
Merge pull request #5114 from boykopovar/feat/web-relinker-ui
...
feat(pages): add web relinker ui
2026-10-13 15:16:10 +03:00
Adrià
a2a3a3a94d
Merge pull request #4062 from danzaio/fix/windows-log-without-standard-handles
...
fix(relinker): log Windows output when standard handles are missing
2026-10-13 14:11:42 +02:00
boykopovar
36ea209e72
fix(wasm): enable windows diagnostics and disable gui mode
2026-10-13 14:37:50 +03:00
Kovalev Vladislav
319fa5779a
feat(relinker): support fixed Windows guest image bases
2026-10-13 12:55:54 +02:00
boykopovar
78df1e3244
feat(web): stream zip conversion and release library packaging
2026-10-13 13:48:23 +03:00
boykopovar
34766c8236
feat(relinker): expose wasm conversion bindings
2026-10-13 13:38:47 +03:00
boykopovar
04899cb0f7
fix(relinker): align console progress columns
2026-10-13 13:02:03 +03:00
boykopovar
a534bd67ca
fix(relinker): report intermediate output image progress
2026-10-13 12:59:23 +03:00
boykopovar
d35b1afa51
fix(relinker): use consistent two-space nesting in runtime layout
2026-10-13 12:59:22 +03:00
boykopovar
c9a94dd021
fix(relinker): remove layout padding and blank lines after headings
2026-10-13 12:59:04 +03:00
boykopovar
754b82163b
fix(relinker): remove indentation from conversion summary
2026-10-13 12:58:48 +03:00
boykopovar
868d7a138d
fix(relinker): separate console sections without spacing every message
2026-10-13 12:58:35 +03:00
boykopovar
6f2e4b6902
test(relinker): update runtime layout expectations for tree output
2026-10-13 12:58:35 +03:00
boykopovar
56c2a53188
fix(relinker): redraw console progress and format runtime layout as a tree
2026-10-13 12:58:34 +03:00
boykopovar
e1ef33047c
fix(relinker): validate scan ranges before narrowing memory offsets
2026-10-13 12:57:55 +03:00
boykopovar
3e658db4b6
refactor(relinker): remove the obsolete file-based icon builder
2026-10-13 12:57:55 +03:00
boykopovar
6224febfb0
feat(relinker): report instruction conversion progress for executables and modules
2026-10-13 12:57:54 +03:00