Skip to content

Add i686-unknown-windows-coff/x86_64-unknown-windows-coff embedded triples #71203

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

Merged
merged 2 commits into from
Jan 28, 2024

Conversation

MaxDesiatov
Copy link
Contributor

@MaxDesiatov MaxDesiatov commented Jan 27, 2024

These triples don't need additional adjustments in the standard library and complement existing embedded triples for i686 and x86_64 CPU architectures.

Ideally, this would allow compiling Embedded Swift code for Windows without MSVC more easily.

These triples don't need additional adjustments in the standard library and complement existing embedded triples for i686 and x86_64 CPU architectures.
@MaxDesiatov MaxDesiatov added Windows Platform: Windows cmake build embedded Embedded Swift labels Jan 27, 2024
@MaxDesiatov MaxDesiatov requested a review from a team as a code owner January 27, 2024 21:10
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci build toolchain

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to not prefer the unknown vendor? Do you intend to have vendor specific extensions in this context? Otherwise, I think that x86_64-unknown-windows-coff would be better (basically removes the assumption that you have the MS ABI or MSVC available). I would recommend that a comment explaining why the OS is specified in these triples.

@MaxDesiatov
Copy link
Contributor Author

@swift-ci build toolchain

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a reasonable way forward, it really is unfortunate that LLVM doesn't support a freestanding COFF environment (but I expect that is more to do with the fact that there are errant checks for OS vs file formats).

@MaxDesiatov MaxDesiatov changed the title Add i686-pc-windows-coff/x86_64-pc-windows-coff embedded triples Add i686-unknown-windows-coff/x86_64-unknown-windows-coff embedded triples Jan 28, 2024
@MaxDesiatov MaxDesiatov merged commit 50785b5 into main Jan 28, 2024
@MaxDesiatov MaxDesiatov deleted the maxd/embedded-x86-windows-triples branch January 28, 2024 19:17
@rauhul
Copy link
Member

rauhul commented Jan 29, 2024

This is a reasonable way forward, it really is unfortunate that LLVM doesn't support a freestanding COFF environment (but I expect that is more to do with the fact that there are errant checks for OS vs file formats).

FWIW I found many similar issues with <arch>-apple-none-<objectfileformat> which many things treat incorrectly as macOS/unknown Darwin. it is pretty annoying that these components are conflated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build cmake embedded Embedded Swift Windows Platform: Windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants