Repository navigation
Conversation
Add the `<stdlib.h>` interfaces that were not bound for illumos yet: `clearenv`, `closefrom`, `fdwalk`, `canonicalize_file_name`, `rand_r`, the `*rand48` family and `random`/`srandom`/`initstate`/`setstate`, plus `basename` and `dirname` from `<libgen.h>`. These all carry `SUNW_*` symbol versions and go in the shared solarish module. The newer OpenBSD/POSIX 2024 compatibility functions (`mkostemp`, `mkostemps`, `qsort_r`, `reallocarray`, `reallocf`, `recallocarray`, `freezero`, `strtonum`) are illumos-only (`ILLUMOS_*` versions) and go in the illumos module. illumos' `qsort_r` uses the POSIX argument order. `libgen.h` is added to the solarish ctest headers. stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L145-L161 stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L208-L248 stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L276-L359 libgen.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/libgen.h#L52-L53 Symbol versions: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/lib/libc/port/mapfile-vers
Collaborator
Member
|
Rewrite commit messages and PR descriptions by hand, then you may unmark as a draft. See https://forge.rust-lang.org/policies/llm-usage.html#-banned. |
tgross35
marked this pull request as draft
November 5, 2026 22:50
This branch has not been deployed
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.
Add the
<stdlib.h>interfaces that were not bound for illumos yet:clearenv,closefrom,fdwalk,canonicalize_file_name,rand_r,the
*rand48family andrandom/srandom/initstate/setstate,plus
basenameanddirnamefrom<libgen.h>. These all carrySUNW_*symbol versions and go in the shared solarish module.The newer OpenBSD/POSIX 2024 compatibility functions (
mkostemp,mkostemps,qsort_r,reallocarray,reallocf,recallocarray,freezero,strtonum) are illumos-only (ILLUMOS_*versions) and go inthe illumos module. illumos'
qsort_ruses the POSIX argument order.libgen.his added to the solarish ctest headers.stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L145-L161
stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L208-L248
stdlib.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/stdlib.h#L276-L359
libgen.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/head/libgen.h#L52-L53
Symbol versions: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/lib/libc/port/mapfile-vers
Testing
cargo checkforx86_64-unknown-illumos,aarch64-unknown-illumos,x86_64-pc-solarisandsparcv9-sun-solaris(with-Dwarnings).libc-test/semverlists compiles forillumos and Solaris; new constant values were cross-checked
mechanically against the illumos-gate headers.
ci/style.pychecks (rustfmt, sorted/unique semver lists, style test).CC=clang cargo test -p libc-teston OmniOS r151060 (x86_64): passes@rustbot label stable-nominated
🤖 Generated with Claude Code
https://claude.ai/code/session_01PUjq5rfL3s7TbKS3PeAE5K