Conversation
honkstar1
force-pushed
the
radlink-pr-series
branch
from
June 22, 2026 05:20
8b67cdb to
d70c7b1
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
from
June 25, 2026 06:01
d70c7b1 to
bd71560
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
4 times, most recently
from
July 4, 2026 02:32
f5ec08b to
4e8ae06
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
7 times, most recently
from
July 14, 2026 00:46
c11c30a to
2a711f1
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
3 times, most recently
from
July 21, 2026 05:48
e4a2a9c to
3c25d94
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
4 times, most recently
from
August 14, 2026 20:08
62e1d2e to
0a96b8d
Compare
8 tasks
honkstar1
force-pushed
the
radlink-pr-series
branch
from
August 19, 2026 16:09
dcf7687 to
bb1f6d6
Compare
honkstar1
force-pushed
the
radlink-pr-series
branch
from
August 26, 2026 23:19
2ba68c1 to
6f455a7
Compare
…l cursor array * this helps prevent case where an anti-dependency search resets the cursors for the undefined symbol scan
…sor to prevent unnecessary rescans
Actually it should llvm-ml64, but older llvm versions don't include llvm-ml64 binary. Only disadvantage over ml64.exe is that there will be no coff debug info, but it's asm code anyway, so meh...
* add clang-17 builds on ubuntu * add vs2026 builds on windows * temporarily disable "run" jobs * better naming for matrix jobs * use explicit debug/release build steps, not part of job matrix
This was referenced Sep 3, 2026
* updated the comments * simplified the test
* changed test to apply full page allocation pattern in a stream * added new test cases for the page allocation pattern * bugfix stream growth logic
… to the color too
Refresh against dev@47de6bf3. Retain regression-proven archive/override rescans, integrate ICF target offsets and the single-task fast path, and preserve migrated DEFAULTLIB/MSF/ICF test coverage.
honkstar1
added a commit
to honkstar1/raddebugger
that referenced
this pull request
Sep 8, 2026
Restack on dev@47de6bf3 through EpicGames#842 and EpicGames#892 while preserving decode-window, backing-shard and cleanup-cap changes.
honkstar1
added a commit
to honkstar1/raddebugger
that referenced
this pull request
Sep 8, 2026
Refresh against dev@47de6bf3 without adding the compressed-object or memory-cleanup PR layers.
C99 inline semantics after the dev portability refresh otherwise leave this address-taken callback undefined in Linux builds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
September 8 refresh
This block supersedes older base-revision and validation notes below.
ad4d21695e504237004061b2b3ba0d35560dd0c0.47de6bf3. The PR still targets upstreamdev.-O2; 178 passed, 0 failed/crashed, 1 excluded inlinker/* torture/* base/* eval2/*. Exclusion:ms_link_icf_section_flag_eligibility(the previously noted Microsoft-linker comparison). These counts were revalidated after the portability correction; no farm/runtime-soak result is claimed.lnk_obj_dist_weight_is_beforeafter the C99 portability refresh. This is corrected in radlink: performance, memory, IFC/GDK fixes (refreshed on dev@47de6bf3) #842 and inherited by all dependent layers. Local Linux debug builds with Clang 18 and GCC 13 succeeded, and the GitHub matrix has been rerun for these heads.Conflict resolution retains the regression-proven archive-symbol/function-override rescans. Upstream ICF offsets, the pending-input guard, single-task fast path and portability/build changes are integrated. Migrated tests preserve the upstream ICF, DEFAULTLIB and MSF coverage.
Older text is retained below for historical context. Already-integrated upstream changes are behind the refreshed merge base rather than new standalone fixes in this refresh.
Radlink performance, memory, and correctness series
Refreshed onto
devatb4c52780on 2026-09-02. Head:6fa35bcc.This PR contains 105 ordered commits, 52 changed files, +8,258 / -1,383 lines.
Compressed OBJ support is separate in #892; it is not included here. The shared-pool work formerly proposed in #847 is consolidated here.
Reconciliation with upstream
Of the previously published 95 commits, 94 are retained: 92 are patch-equivalent, the subsection-accessor change is adapted to the new test harness, and the library-rescan regression is ported from C to a declarative
.tst.git range-diffrepresents that test migration as delete/add, not as a retained patch.The remaining commit, the C11/BLAKE3 CPU-feature-load build workaround, is removed because upstream
b4c52780supersedes it. The four implementations already removed in the August cleanup stay removed: the old unresolved-symbol line mapper, writable raw-symbol copies, leaf-reference node arenas, and final-layout side arrays. Upstream's new declarative tests and BLAKE3 assembly implementation are preserved. Clang builds now usellvm-mlfor the assembly rather than invokingml64.Review areas
/OPT:GCTYPESremains opt-in and disabled by default.Newly included, individually reviewable fixes
f555a9dd: emit BigObj for oversized generated import objects, with writer and 22,000-import regressions. This entire commit applies cleanly directly to upstreamb4c52780, including both tests; it is independent of the rest of this series and of compressed OBJ support.2aa63c01: index function-override aliases instead of repeatedly scanning ordinary aliases; declarative regression included.c71da326: park the governor once demand is covered; repeated queued/tiny/barrier-cohort regression.1076b06c: correct PDB summary timer brackets and check the reported module interval against the enclosing invocation.a721072c: correct the test sort-callback signature for Clang.34587780,9f9a097d,c7f33b3e,4353099d: consolidate the existing general diagnostic/shared-pool hardening from the compressed-object stack into this PR.Fresh validation of this revision
generic_build_previous_exit_condition,ms_link_icf_section_flag_eligibility,determ_test,icf_cpp_identical_functions_fold,icf_cpp_multihop_functions_do_not_fold,icf_llvm_addrsig_external_symbol,icf_llvm_addrsig,import_export,infer_asan,ms_link_icfs_identical_comdats,generic_build_default_output, andgeneric_build_output_with_spaces. No local MSVC compiler/linker was used for this refresh; GitHub runs its existing compiler matrix automatically.Outstanding validation and scope limits
Large-input ICF nondeterminism remains unresolved. A September 2 frozen raw-OBJ reproduction produces differing image layout/PDB bytes with ICF enabled; a rebuilt pre-merge
b93924f9control also reproduces it, while its ICF-disabled pair is byte-identical. It is not yet established whether the root cause is upstream ICF or retained PR work. Successful small tests do not close this issue.The exact refreshed heads have not been rerun against full Common/Engine inputs, launched in the editor, or validated across a Linux/Wine/UBA farm. Earlier large-link measurements belong to older revisions and are not fresh performance or determinism claims for this head. Production process-exit measurements must include the post-Process/End kernel teardown tail; printed phase totals are not that measurement.
The recent relocation-decode-window experiment, independent
/RAD_UNMAP_WORKERStuning, and sharded compressed-cache backing are deliberately not included in either refreshed PR. They remain separate pending memory, performance, and production-path validation.GitHub CI follow-up
The automatic matrix is not green. All 26 build-only jobs have passed; at the latest inspection three debug run jobs failed and two release run jobs were still running.
GetOpenFileNameWdebugger link failure and ASan_ITERATOR_DEBUG_LEVELmismatch in the mule fixture. Windows MSVC debug reaches the existingms_link_icf_section_flag_eligibilityfailure. Those failures also occur in the upstream b4c52780 run.delay_import.tstbecauselibcmt.libis unavailable, followed by DLL entry-point inference failure. The upstream Linux run failed earlier at compilation, so no passing upstream Linux runtime control is claimed.