support building on illumos systems#1854
Merged
justsmth merged 3 commits intoSep 25, 2024
Merged
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1854 +/- ##
==========================================
+ Coverage 78.34% 78.53% +0.19%
==========================================
Files 580 583 +3
Lines 97255 98809 +1554
Branches 13945 14162 +217
==========================================
+ Hits 76190 77602 +1412
- Misses 20444 20580 +136
- Partials 621 627 +6 ☔ View full report in Codecov by Sentry. |
justsmth
previously approved these changes
Sep 17, 2024
| # "isainfo -n", which prints "the name of the native instruction set used by | ||
| # portable applications"; e.g., "amd64". | ||
| # | ||
| execute_process(COMMAND /usr/bin/isainfo -n OUTPUT_VARIABLE |
Contributor
There was a problem hiding this comment.
Note: Reference for isainfo: https://illumos.org/man/1/isainfo
justsmth
reviewed
Sep 17, 2024
justsmth
approved these changes
Sep 17, 2024
Contributor
|
Sorry, this didn't make it into the AWS-LC v1.35.0 release. Hopefully, we'll put up another release soon. (We typically align new releases of aws-lc-sys with the latest release of AWS-LC.) |
Contributor
Author
|
We at least have Cargo's |
WillChilds-Klein
approved these changes
Sep 25, 2024
andrewhop
approved these changes
Sep 25, 2024
Merged
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.
Issues:
n/a
Description of changes:
The team that works on awslabs/tough wants to support using the aws-lc-rs Rust crate (awslabs/tough#824). As one of several downstream consumers of tough outside of AWS, we were asked for feedback. Oxide uses tough as part of our product which runs on the illumos operating system.
When linking Rust code using aws-lc-rs, the linker cannot find several
aws_lc_*symbols:uname -pon illumos systems returnsi386on 64-bit machines. This resulted in assembly code not being linked into the AWS-LC library due to architecture misdetection. To determine the native instruction set,isainfo -nis used instead.Once these cryptic errors were out of the way, we got a more normal linking error indicating some missing libraries; symbols that are in the libc on other platforms are in separate libraries on illumos.
I'm sending this PR on behalf of my coworker, @jclulow, but I can help handle any requested changes.
Call-outs:
n/a
Testing:
Tested on an illumos system via aws-lc-rs by patching the crate in Cargo.toml with:
which updates the AWS-LC submodule to this commit.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.