Skip to content

Want illumos ci#5237

Open
papertigers wants to merge 1 commit into
rust-lang:mainfrom
papertigers:illumos-ci
Open

Want illumos ci#5237
papertigers wants to merge 1 commit into
rust-lang:mainfrom
papertigers:illumos-ci

Conversation

@papertigers

@papertigers papertigers commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Fixes: #1405

This adds illumos ci via the vmactions/omnios-vm github action and relies on the latest omnios LTS release (r151054 )which is supported until 2028-05-01.

Additionally this PR fixes a few test issues that I discovered while working on this.

@rustbot rustbot added A-CI Area: CI-related items S-waiting-on-review labels Jul 1, 2026
Comment thread .github/workflows/ci.yaml Fixed
Comment thread .github/workflows/ci.yaml Fixed
@papertigers papertigers marked this pull request as draft July 1, 2026 05:07
Comment thread .github/workflows/ci.yaml Fixed
@papertigers papertigers changed the title XXX illumos CI Want illumos ci Jul 1, 2026
@papertigers papertigers marked this pull request as ready for review July 1, 2026 19:41
@rustbot

rustbot commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred in a solarish module

cc @jclulow, @pfmooney

Comment thread src/unix/solarish/mod.rs
pub const PTHREAD_MUTEX_RECURSIVE: c_int = 4;

#[cfg(target_os = "illumos")]
pub const PTHREAD_MUTEX_DEFAULT: c_int = 0x8;

@papertigers papertigers Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fwiw I am discussing this with a few people before we land this change.

This comes from: https://www.illumos.org/issues/16200, however this value is not in the current sysroot being used to cross compile rustc. There is a plan to bump the illumos sysroot, but even this version will not contain the header value change. This means any software built with this libc change wouldn't function correctly on a sufficiently old illumos kernel.

We could potentially keep the previous behavior and exclude the header check in the tests but we will have to remind ourselves to later go back and fix this in libc whenever we do have a sufficiently new sysroot.

View changes since the review

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

for "sufficiently old" meaning "before ~jan 2024 when 16200 was fixed", though - I think that points away from just changing libc! it's also "weird" to me that when building a normal release Rust, the sysroot there would have a pthread.h with PTHREAD_MUTEX_DEFAULT that disagrees with this file.

in some sense, the header check here is checking the wrong pthread.h for anyone that uses the sync types via libstd, since whatever happens to be around for CI today is only relevant for anyone building libc today. but it's the right pthread.h if your code goes and does pthread things, whereas libstd's pthread stuff could be lightly confusing in that case (though PTHREAD_MUTEX_NORMAL didn't change so maybe that's all fine).

I've at least talked myself into thinking that leaving this as-is with a note for cutting a future sysroot to clean this up is probably the expedient thing to do?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't appear to directly use PTHREAD_MUTEX_DEFAULT in rust-lang/rust so I'm not worried about this change.

See rust-lang/rust#150756 for tracking the update.

@tgross35 tgross35 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM but can you please improve the PR title and commit description?

View changes since this review

Comment thread src/unix/solarish/mod.rs
pub const PTHREAD_MUTEX_RECURSIVE: c_int = 4;

#[cfg(target_os = "illumos")]
pub const PTHREAD_MUTEX_DEFAULT: c_int = 0x8;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't appear to directly use PTHREAD_MUTEX_DEFAULT in rust-lang/rust so I'm not worried about this change.

See rust-lang/rust#150756 for tracking the update.

@papertigers

Copy link
Copy Markdown
Contributor Author

@tgross35 I can change the title and description, however let's wait until others have a chance to chime in on the constant change included in this PR. Although it's likely I will push a change that implements @iximeow suggestion above which seems like the most sensible thing to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items S-waiting-on-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CI for Solaris / Illumos

5 participants