-
Notifications
You must be signed in to change notification settings - Fork 121
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
support building on illumos systems #1854
support building on illumos systems #1854
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. |
# "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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Reference for isainfo
: https://illumos.org/man/1/isainfo
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.) |
We at least have Cargo's |
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 -p
on illumos systems returnsi386
on 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 -n
is 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.