Skip to content

fix(relinker): preserve Linux executable exports and ELF section addresses - #2785

Merged
adriadam10 merged 2 commits into
boykopovar:mainfrom
tototomate123:fix/hfw-relinker-split
Oct 11, 2026
Merged

adriadam10 merged 2 commits into
boykopovar:mainfrom
tototomate123:fix/hfw-relinker-split

Conversation

@tototomate123

@tototomate123 tototomate123 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

What

Split from #1616, following its review. Map section addresses through load segments; preserve defined executable exports, DT_HASH and DT_DEBUG so Linux symbol lookup and debugging can find them. Includes an executable-export regression and malformed-symbol-table check. Two commits.

Tested

Linux x86-64, GCC 16.2.1, Release. linux_executable_exports passes (generated Linux ELF loads and calls its exported symbol; malformed input is rejected). Relinker builds. Conventions and whitespace checks pass on current main (5edae353).

Depends on

None for build. HFW integration also needs #2786 (loader), #2787 (filesystem), #2788 (http), #2789 (apr), #2790 (shader). #1269 (media), #1339 (VRR), #1586 (unwind) and #1436 (imports) are now on main. Local image-table experiments are excluded; open #757 → #758 overlaps them, and #920 is closed without merging. Earlier combined integration reached menu/loading UI; these isolated branches have not been game-tested and gameplay is unverified.

Checklist

  • Based on current main; no duplicate implementation found beyond superseded fix(linux): resolve loader and APR failures exposed by HFW #1616
  • One topic per PR
  • No code comments except technical debt
  • Unimplemented paths throw; offline HTTP limitations documented
  • No investigation notes, logs or images committed
  • No new third-party dependencies
  • Generic behavior; no title-specific dispatch
  • Depends on: none for build; HFW integration requirements listed above
  • AI-assisted: yes, Codex

@github-actions github-actions Bot added the intake paused Closed while PR intake is limited to authors with at least 10 PRs merged into main label Oct 10, 2026
@github-actions

Copy link
Copy Markdown

Thank you for your interest in the project! We are sorry, but we cannot accept more PRs while we work through the existing backlog. This PR has been automatically closed and labeled "intake paused". This is not a judgment of the quality of your changes.

@adriadam10

Copy link
Copy Markdown
Collaborator

Checked on Linux x86-64 (relinker scope, 95/95 ctest): linux_executable_exports passes with the change and fails without it (exit code 1 from the probe), and the malformed DT_OS_SYMTABSZ case is rejected. The DT_HASH chain and the section address mapping through PT_LOAD look right. Merging once CI is green.

@adriadam10
adriadam10 merged commit 6957bb4 into boykopovar:main Oct 11, 2026
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants