-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Platforms that don't have "fat" multi-architecture binaries should place their runtime libraries in an arch-specific directory #63645
Labels
bug
A deviation from expected or documented behavior. Also: expected but undesirable behavior.
Linux
Platform: Linux
platform support
swift 6.0
toolchain
unexpected behavior
Bug: Unexpected behavior or incorrect output
Comments
finagolfin
added
bug
A deviation from expected or documented behavior. Also: expected but undesirable behavior.
triage needed
This issue needs more specific labels
labels
Feb 14, 2023
@buttaface Thank you for working on this! It does not have a fat library format for WASI, so the same rule can be applied as well as for linux. |
finagolfin
added a commit
to finagolfin/swift
that referenced
this issue
Feb 20, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Resolves swiftlang#63645
finagolfin
added a commit
to finagolfin/swift-driver
that referenced
this issue
Feb 20, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Also, add the new architecture-specific rpath to the resulting swift-driver. This is the Swift translation of the Driver-specific changes of swiftlang/swift#63782. Resolves swiftlang/swift#63645
finagolfin
added a commit
to finagolfin/swift
that referenced
this issue
Feb 23, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Resolves swiftlang#63645
finagolfin
added a commit
to finagolfin/swift
that referenced
this issue
Mar 1, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Resolves swiftlang#63645
finagolfin
added a commit
to finagolfin/swift-driver
that referenced
this issue
Mar 1, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Also, add the new architecture-specific rpath to the resulting swift-driver. This is the Swift translation of the Driver-specific changes of swiftlang/swift#63782. Resolves swiftlang/swift#63645
finagolfin
added a commit
to finagolfin/swift-driver
that referenced
this issue
Mar 6, 2023
…-specific directories This is needed for all platforms that don't have multi-architecture libraries like Darwin. Also, add the new architecture-specific rpath to the resulting swift-driver and make it possible to cross-compile this repo for non-Darwin platforms on Darwin. The driver changes are the Swift translation of the Driver-specific changes of swiftlang/swift#63782. Resolves swiftlang/swift#63645
finagolfin
added
toolchain
Linux
Platform: Linux
and removed
triage needed
This issue needs more specific labels
labels
Dec 8, 2024
My linked pulls were rejected last year in favor of moving to full platform triples for the resource directory name instead, which nobody has yet implemented. |
AnthonyLatsis
added
platform support
unexpected behavior
Bug: Unexpected behavior or incorrect output
swift 6.0
labels
Dec 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
A deviation from expected or documented behavior. Also: expected but undesirable behavior.
Linux
Platform: Linux
platform support
swift 6.0
toolchain
unexpected behavior
Bug: Unexpected behavior or incorrect output
Description
This is a long-standing issue where we cannot ship or link against the stdlib for different architectures in the same Swift resource directory, because the compiler places and adds a rpath to them in
lib/swift/linux
, notlib/swift/linux/x86_64
andlib/swift/linux/aarch64
:@compnerd wrote about these issues when the problem was worse four years ago, and while some of that has since been fixed, this remaining issue of the runtime libraries location came up again last year.
Steps to reproduce
build-script
currently does not support building two non-Darwin architectures at once, so it has to be run twice.).Expected behavior
Both architectures' runtime libraries install fine. Instead, the latter will overwrite the former.
Environment
Additional context
@compnerd fixed this for Windows already by installing the runtime libraries to arch-specific directories, and having the Swift driver look in those arch-specific directories instead when linking.
I've put together a similar pull for the Unix toolchain and it passes the compiler validation suite natively on Android, after updating some tests. I will submit it soon, once I get it to install the libraries properly when setting up the full toolchain, along with the needed modifications to the corelibs install.
@MaxDesiatov or @kateinoigakukun, what would you like to do for the wasm toolchain? I currently disable these changes in my pull for Darwin, which has fat libraries so doesn't need it, and WASI, because I don't know what that platform requires.
The text was updated successfully, but these errors were encountered: