Skip to content

linker: keep dotted export names from becoming forwarders - #897

Closed
honkstar1 wants to merge 4 commits into
EpicGames:devfrom
honkstar1:codex/autortfm-dotted-exports
Closed

linker: keep dotted export names from becoming forwarders#897
honkstar1 wants to merge 4 commits into
EpicGames:devfrom
honkstar1:codex/autortfm-dotted-exports

Conversation

@honkstar1

Copy link
Copy Markdown

Summary

  • Match MS link's handling of dotted /EXPORT: names: only export=module.symbol is a forwarder.
  • Keep plain dotted symbols like __RTFM.autortfm_is_context_status as normal exports.
  • Fixes AutoRTFM/RADLINK DLLs collapsing these exports into one unnamed forwarder, which leaves runtime imports unresolved.

Validation

  • Built D:\devel\git\raddebugger\build\radlink.exe with MSVC 14.50 release flags.
  • Relinked temp AutoRTFM/CoreUObject DLLs from the Fortnite .rsp files and checked dumpbin /exports:
    • AutoRTFM now exports __RTFM.autortfm_is_context_status.
    • CoreUObject now keeps its __RTFM.?... dotted exports instead of an unnamed forwarder.

NikitaSmith057 and others added 4 commits August 19, 2026 17:57
@honkstar1

Copy link
Copy Markdown
Author

Closing as implemented upstream by 1091801. The upstream alias/nonempty condition distinguishes an actual forwarder from a plain dotted export name, so the production fix in this PR no longer needs to be carried.

The refreshed #842 retains a declarative regression covering both a plain AutoRTFM dotted export and a real name=module.symbol forwarder. Both pass in the refreshed suite. #892 no longer carries a duplicate dotted-export fix.

@honkstar1 honkstar1 closed this Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants