Dean
e48379c7af
Merge pull request #11299 from p3n1cillin/claude/relinker-duplicate-relocations
...
fix(relinker): accept an identical duplicate relocation in Windows executables
2026-10-27 11:07:09 +13:00
Dean
d68ea2314c
Merge pull request #11038 from plexerPK/codex/executable-tls-special-sections
...
fix(relinker): reject executable TLS symbols in special sections
2026-10-27 10:59:53 +13:00
Dean
6df35a4f58
Merge pull request #10997 from SandstromPL/fix/relinker-backup-copies-in-conversion
...
fix(relinker): skip backup copies of guest modules in the online converter too
2026-10-27 10:58:32 +13:00
Dean
5566e1e097
Merge pull request #10971 from roboterspinne/fix/relinker-linux-nonzero-import-addends
...
fix(relinker): reject nonzero GLOB_DAT and JUMP_SLOT addends in Linux output
2026-10-27 10:58:17 +13:00
Dean
1748d26517
Merge pull request #10871 from Chronyyx/feat/relinker-frame-short-exits
...
feat(relinker): frame red-zone leaves whose prologue or exit is shorter than a jump
2026-10-27 10:55:26 +13:00
Dean
7a1dd637ae
Merge pull request #10401 from roboterspinne/fix/relinker-elf-type-allowlist
...
fix(relinker): accept only ET_EXEC, ET_DYN and the SCE dynamic ELF types as executable input
2026-10-27 10:54:16 +13:00
Dean
613a877ab9
Merge pull request #11232 from MarcZX10/marc/fix-relinker-island-overflow
...
fix(relinker): place 256-bit store islands across 2^63 without signed overflow
2026-10-27 10:39:59 +13:00
Dean
ece00a8bfd
Merge pull request #11178 from LuPetro/test/windows-red-zone-execution
...
test(relinker): execute red-zone framing regressions on Windows
2026-10-27 10:38:45 +13:00
Dean
357b586723
Merge pull request #11067 from slopgobblercobbler/fix/relinker-unwind-narrow-unsigned-overflow
...
fix(relinker): reject unsigned address overflow for narrow unwind encodings
2026-10-27 10:36:42 +13:00
Dean
e34b992e8a
Merge pull request #11010 from harisibrar1/fix/relinker-rpath-value
...
fix(relinker): reject a repeated --rpath
2026-10-27 10:35:33 +13:00
Dean
37caf45550
Merge pull request #10912 from ahmadmuj/fix/anyps5-frame-red-zone-requires-windows
...
fix(relinker): reject --frame-red-zone without --windows
2026-10-27 10:33:25 +13:00
Dean
bfa6203903
Merge pull request #10763 from harisibrar1/test/relinker-python-utf8
...
test(relinker): run the relinker tests in Python's UTF-8 mode
2026-10-27 10:31:44 +13:00
Dean
7c3d8b3bbb
Merge pull request #11007 from al3ss4ndrolb/test/suggest-patches-resolved-temp-root
...
test(relinker): compare patch advisor output against the resolved temporary root
2026-10-27 09:15:45 +13:00
Dean
3fa7e3f9cc
Merge pull request #10545 from Bram910/fix/file-prefix-allocation
...
fix(io): avoid allocating the entire file prefix limit
2026-10-27 09:00:30 +13:00
Adrià
cabd860cbe
Merge pull request #10439 from KSWORK2001/fix/relinker-syscall-number-paths
...
fix(relinker): agree on the syscall number between the two constant-load paths
2026-10-26 19:10:09 +01:00
Adrià
aa04180e37
Merge pull request #10391 from roboterspinne/fix/relinker-macos-relocation-message
...
fix(relinker): drop Windows from errors the macOS target also reports
2026-10-26 19:10:01 +01:00
Dean
ae17955d2c
Merge pull request #10945 from roboterspinne/fix/relinker-windows-lazy-stub-alignment
...
fix(relinker): align the stack in Windows lazy import failure stubs
2026-10-27 05:53:57 +13:00
Dean
50ef454b5a
Merge pull request #11082 from roboterspinne/fix/relinker-windows-fixed-base-user-limit
...
fix(relinker): keep fixed Windows images below the highest user address
2026-10-27 05:40:54 +13:00
Dean
728266059d
Merge pull request #11063 from roboterspinne/fix/relinker-red-zone-pop-rm-xop
...
fix(relinker): stop reading pop r/m without REX as XOP in red-zone framing
2026-10-27 05:40:19 +13:00
Dean
b73c5659a5
Merge pull request #11000 from plexerPK/fix/windows-empty-tls-file-offset
...
fix(relinker): accept empty TLS images beyond EOF on Windows
2026-10-27 05:35:55 +13:00
Dean
47d389e6da
Merge pull request #10561 from vingelvatten/fix/relinker-dynamic-segment-tail
...
fix(relinker): accept PT_DYNAMIC data after DT_NULL
2026-10-27 05:27:55 +13:00
review
044e52a2f0
Merge commit 'refs/review/9669/head' into HEAD
2026-10-26 14:10:41 +01:00
Dean
190386eb70
Merge pull request #11058 from plexerPK/fix/executable-tls-symbol-bounds
...
fix(relinker): reject out-of-range executable TLS symbols
2026-10-27 00:59:47 +13:00
p3nicillin and Claude Opus 5.5
9673868d5f
fix(relinker): accept an identical duplicate relocation in Windows executables
...
A RELA entry repeated with the same target, type and addend writes the
same value twice, so applying it once is equivalent. The Windows
relocation builder refused it as overlapping and code analysis as an
invalid relative relocation; the Linux output already passed it through.
Forever Launcher's game-child.bin (PPSA99030) repeats one RELATIVE entry
at 0x2df70 and could not be converted. Distinct entries at one target
are still refused.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 11:38:33 +00:00
fogydes
719701a68e
fix(libkernel): follow the measured exec lookup and image checks
2026-10-26 16:19:46 +05:30
Adrià
01cd4a42df
Merge pull request #9711 from milescoviello/test/input-magic-asan
...
test(relinker): bound input_magic's large input with ASan's allocation cap
2026-10-26 11:35:00 +01:00
Adrià
cbf76e7a6e
Merge pull request #9408 from rursache/feat/macos-trace-imports
...
feat(relinker): trace function imports on macOS
2026-10-26 11:27:51 +01:00
fogydes
f53346a288
feat(libkernel): implement execv, execvp and execve process replacement
2026-10-26 14:51:38 +05:30
Dean
ec9256a042
Merge pull request #10852 from Mherberts/codex/fix-elf-section-table-alignment
...
fix(relinker): align ELF64 section header tables
2026-10-26 22:03:40 +13:00
Dean
fb5afb3ef7
Merge pull request #8236 from javierUDP/test/rosetta-inplace-execution
...
test(relinker): execute the in-place Rosetta replacements
2026-10-26 21:59:04 +13:00
plexerPK
5f4c8cb927
fix(relinker): reject executable TLS symbols outside their block
2026-10-26 08:45:23 +01:00
Dean
f33c06b639
Merge pull request #10862 from hakarrr/patch-2
...
test(relinker): compile the executable-exports probe on glibc before 2.36
2026-10-26 20:38:48 +13:00
Dean
b744c37f4e
Merge pull request #8076 from brainiac91/fix/relinker-embedded-data-tables
...
fix(relinker): mask embedded data tables in inter-FDE gaps
2026-10-26 20:36:58 +13:00
Dean
637397576b
Merge pull request #10102 from JJenkx/windows/relinker-trailing-note
...
fix(relinker): ignore an unmapped note segment outside a module's file
2026-10-26 20:34:57 +13:00
Dean
2bdd30ebe6
Merge pull request #10719 from WhiteAssassins/feat/patch-advisor-list-verified
...
feat(tools): list verified patch catalog entries
2026-10-26 20:00:41 +13:00
Vingelvatten and Claude Opus 5.5
0103719e10
Merge branch 'main' into fix/relinker-dynamic-segment-tail
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 07:37:56 +01:00
Dean
e3657de5e4
Merge pull request #10402 from roboterspinne/fix/relinker-linux-load-bounds
...
fix(relinker): require the Linux entry, relocation offsets and DT_PLTGOT in PT_LOAD memory
2026-10-26 16:30:06 +13:00
Karan Shrivastava
0f45390a92
fix(relinker): agree on the syscall number between the two constant-load paths
2026-10-25 23:00:48 -04:00
Dean
db1a91f42b
Merge pull request #10303 from Bram910/fix/native-path-null-bytes
...
fix(io): reject NUL bytes in native file paths
2026-10-26 14:39:36 +13:00
Dean
dbf4f6aa3f
Merge pull request #10607 from roboterspinne/fix/relinker-linux-run-path
...
fix(relinker): validate every entry of the Linux run path
2026-10-26 14:26:39 +13:00
Dean
98891b5a0a
Merge pull request #10403 from roboterspinne/fix/relinker-reject-second-pt-dynamic
...
fix(relinker): reject a second PT_DYNAMIC segment
2026-10-26 14:15:52 +13:00
Brainiac91
133ae3261f
fix(relinker): only end the gap mask at a block that holds a syscall
...
A chain of table bytes that decodes to a return after a padding run looked
like trailing gap code and stopped the mask inside a real table, which hands
the rest of it back to the decoder. Truncating now needs the block to contain
a syscall, or to end where the gap turns into padding, so a 2 KiB table with
00/cc/90 runs and return-like bytes stays masked.
2026-10-26 02:02:49 +02:00
Brainiac91
3cb3e8f53b
fix(relinker): end the data table mask at a control-flow terminator
...
A gap that holds a table, padding and then a syscall stub followed by
non-padding data classified the stub as invalid, so the mask ran to the end
of the gap and hid the syscall from the scan. Mark any instruction that ends
control flow as a terminator, which stops the mask before that block.
Covered by the helper test and by the SCE, SysV and guest-module conversion
tests, which convert before the change and refuse syscall 9 after it.
2026-10-26 01:23:47 +02:00
Brainiac91
ac1dc93255
perf(relinker): binary-search function ranges for gap branch targets
...
Every pending gap target walked the whole unwind function vector, so a
large executable cost targets x functions. Sort and merge the ranges once,
then use upper_bound for each target.
2026-10-26 01:23:39 +02:00
Adrià
2b5225605b
Merge pull request #9719 from AasishDairelSahayaGrinspan/fix/relinker-gs-non-memory-operands
...
fix(relinker): leave GS-prefixed LEA and NOP instructions unchanged
2026-10-26 00:15:58 +01:00
Dean
1997e647f9
Merge pull request #10017 from SteelCrab/review-split/relinker-import-types
...
fix(relinker): preserve imported ELF symbol types
2026-10-26 12:11:16 +13:00
Brainiac91
640577c3ec
fix(relinker): keep the terminator before a decoded padding suffix
...
trailing[next] is Padding for an instruction that starts with 00 or CC
even when the rest of its bytes are code, so it is not the same as
padding[next]. The recurrence treated the two as interchangeable and
overwrote the trailing state of a syscall that precedes such an
instruction, which let the fallback extend the mask over it and made
both conversion routes accept the gap. Decide from the trailing state
whether the successor is padding.
The regression covers the table helper plus the executable and guest
module routes; without the correction the executable and module
conversions succeed instead of refusing syscall 9.
2026-10-26 00:37:56 +02:00
MarcZX10
9da4efcced
test(relinker): lower a 256-bit store through an island across 2^63
2026-10-25 22:13:34 +00:00
Dean
dab64bbc52
Merge pull request #9375 from thakrarsagar/codex/relinker-output-path-cache
...
fix(relinker): avoid repeated output path canonicalization
2026-10-26 11:10:02 +13:00
Dean
905c3e2870
Merge pull request #10647 from Bram910/fix/call-site-hint-prefixes
...
fix(relinker): resolve BND and NOTRACK call sites
2026-10-26 11:09:02 +13:00