fix(clr): drop version-script entries for symbols the libraries don't define - #10564
Open
lamb-j wants to merge 1 commit into
Open
fix(clr): drop version-script entries for symbols the libraries don't define#10564lamb-j wants to merge 1 commit into
lamb-j wants to merge 1 commit into
Conversation
… define hip_hcc.map.in still lists the 18 hiprtc* entry points, which moved to the separate libhiprtc when hiprtc was split out; libamdhip64 exports none of them and hiprtc.map.in already covers them. amdocl.map lists 19 acl* symbols that no longer exist anywhere in the tree, plus two D3D10 entries (cl_d3d10.cpp is entirely under #ifdef _WIN32, and WIN32 links amdocl.def instead) and two clEnqueue*ExternalObjects entries with no definition. lld has defaulted to --no-undefined-version since 241dbd310599, so a literal version-script pattern matching nothing is a hard link error. Changes: - hipamd/src/hip_hcc.map.in: remove 18 hiprtc* entries - opencl/amdocl/amdocl.map: remove 19 acl*, 2 D3D10, 2 ExternalObjects After the change every literal in amdocl.map is exported by the shipped libamdocl64.so, and every literal in hip_hcc.map.in has a definition in the tree.
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
chrispaquot
approved these changes
Aug 22, 2026
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.
Motivation
CLR's two linker version scripts list roughly 40 symbols that the libraries they apply to do not define.
lldhas defaulted to--no-undefined-versionsince241dbd310599, and under that default a literal version-script pattern matching nothing is a hard link error — so CLR does not link against a stock upstreamlld.Technical Details
hipamd/src/hip_hcc.map.in— 18 deadhiprtc*entries. These moved to the separatelibhiprtcwhen hiprtc was split out. The script is applied only toamdhip64;hiprtc.map.inalready covers thehiprtc*exports:Against a shipped 7.12 tree:
opencl/amdocl/amdocl.map— 19acl*plus 4 others.acl*symbols (aclCompilerInit,aclBinaryInit,aclDisassemble, ...) — no definition anywhere in the tree.clCreateFromD3D10Buffer,clCreateImageFromD3D10Resource—cl_d3d10.cppis entirely under#ifdef _WIN32, and the WIN32 build linksamdocl.definstead of this script.clEnqueueAcquireExternalObjects,clEnqueueReleaseExternalObjects— no definition.Not an ABI change. None of these symbols were ever exported, so the resulting export set is byte-identical. After the change every literal in
amdocl.mapis exported by the shippedlibamdocl64.so, and every literal inhip_hcc.map.inhas a definition in the tree.Issue Tracking
#10562
Test Plan
Passing CI.
Test Result
Pending CI.