-
Notifications
You must be signed in to change notification settings - Fork 175
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
Fix operatingSystemVersion
on WASI
#782
Merged
jmschonfeld
merged 1 commit into
swiftlang:main
from
kateinoigakukun:pr-868e74268f0b1cfd3e290510e6047da09f5084b6
Aug 1, 2024
Merged
Fix operatingSystemVersion
on WASI
#782
jmschonfeld
merged 1 commit into
swiftlang:main
from
kateinoigakukun:pr-868e74268f0b1cfd3e290510e6047da09f5084b6
Aug 1, 2024
Conversation
This file contains 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
The `operatingSystemVersion` property type is a tuple but the it was returning an `OperatingSystemVersion` instance on unknown platforms.
@swift-ci test |
33 tasks
jmschonfeld
approved these changes
Aug 1, 2024
MaxDesiatov
pushed a commit
that referenced
this pull request
Aug 5, 2024
MaxDesiatov
added a commit
that referenced
this pull request
Aug 29, 2024
* Add explicit include of `wasi/libc-environ.h` (#786) This is necessary to get the `__wasilibc_get_environ` function declaration. (cherry picked from commit 243066f) * Add explicit void type parameter to C functions without parameters (#775) C functions with `()` as parameter list can take any number of parameters. But WebAssembly requires static signature information for every function call, so we need to explicitly specify `(void)` to indicate that the function takes no parameters. (cherry picked from commit 8f34f38) * Exclude EREMOTE definition for WASI platform (#778) WASI does not define the EREMOTE error code. (cherry picked from commit 6bb5ff7) * Throw `.featureUnsupported` when attempting to create temp files on WASI (#779) WASI does not have temp directory concept, and does not provide mktemp family of functions, so attempting to create a temporary file should be considered a feature unsupported. (cherry picked from commit fb11420) * Fix `operatingSystemVersion` on WASI (#782) The `operatingSystemVersion` property type is a tuple but the it was returning an `OperatingSystemVersion` instance on unknown platforms. (cherry picked from commit a8f1225) * Guard out extended or fs attributes related code on WASI (#784) This commit guards out the extended attributes and file system attributes related code on WASI as WASI does not support these features. Just return nothing or ignore the set request. (cherry picked from commit fab7195) * Guard out user/group related code on WASI (#783) * Guard out user/group related code on WASI This change guards out the user/group related code on WASI, as WASI does not have the concept of users or groups. * Throw explicit unsupported error if trying to set user or group on WASI Instead of implicitly ignoring user-given values, we should throw exception to make it clear that those values cannot be set on WASI. (cherry picked from commit 0b3974d) * Skip sticky-bit check in `isDeletableFile` on WASI (#785) WASI does not surface the sticky bit and getuid, so we cannot check whether the file is actually deletable before attempting to delete it. (cherry picked from commit e90b6c3) * Implement `_copyRegularFile` for WASI without `sendfile` (#787) WASI doesn't have `sendfile`, so we need to implement the copy in user space with `read` and `write`. It's not as efficient as `sendfile`, but it's the best we can do. (cherry picked from commit 2a6afeb) * Port `LockedState` and `_ThreadLocal` to WASI without any locking (#780) (cherry picked from commit aa68eeb) * Add WASI platform conditions for libc imports and word size (#776) * Add `import WASILibc` statements to libc import chains * Declare wasm32 arch as 32-bit environment * Switch to _pointerBitWidth for architecture checks This change switches the architecture checks in Data.swift to use the _pointerBitWidth instead of the arch() checks for consistency with newer platforms. (cherry picked from commit c82d167) * Enable wasi-libc emulation features (#777) * Enable wasi-libc emulation features Those features require explicit macro definitions to be enabled, so add them to the package definition. Only affects WASI builds. * Prefer `TARGET_OS_WASI` over `__wasi__` And explain why we need definition checks for `signal.h` and `sys/mman.h` (cherry picked from commit c86692f) --------- Co-authored-by: Yuta Saito <[email protected]>
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.
The
operatingSystemVersion
property type is a tuple but the it was returning anOperatingSystemVersion
instance on unknown platforms.