Skip to content

Conversation

@ararslan
Copy link
Member

This includes three commits that fix the version script for use with newer LLD. This has already been fixed on 1.11, 1.12, and master.

Commits were cherry-picked from #55363, #57874, and #53633.

Zentrik and others added 3 commits April 15, 2025 12:21
lld 17 and above by default error if symbols listed in the version
script are undefined. Julia has a few of these, as some symbols are
defined conditionally in Julia (e.g. based on OS), others perhaps have
been removed from Julia and other seem to be defined in other libraries.
Further the version script is used in linking three times, each time
linking together different objects and so having different symbols
defined.

Adding `-Wl,--undefined-version` is not a great solution as passing that
to ld < 2.40 errors and there doesn't seem to be a great way to check if
a linker supports this flag.
I don't know how to get around these errors for symbols like
`_IO_stdin_used` which Julia doesn't define and it seems to matter
whether or not they are exported, see
https://libc-alpha.sourceware.narkive.com/SevIQmU3/io-stdin-used-stripped-by-version-scripts.
So I've converted all undefined symbols into wildcards to work around
the error.

Fixes #50414, fixes #54533 and replaces #55319.

---------

Co-authored-by: Zentrik <Zentrik@users.noreply.github.com>
(cherry picked from commit d269d7d)
@ararslan ararslan added the don't squash Don't squash merge label Apr 15, 2025
@KristofferC KristofferC added the merge me PR is reviewed. Merge when all tests are passing label Apr 15, 2025
@ararslan ararslan merged commit afc9bff into release-1.10 Apr 16, 2025
7 checks passed
@ararslan ararslan deleted the aa/backport-version-script-fixes branch April 16, 2025 00:16
@DilumAluthge DilumAluthge removed the merge me PR is reviewed. Merge when all tests are passing label Apr 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

don't squash Don't squash merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants