close
Skip to content

Fix gaps in hexagon-unknown-qurt defs#5091

Open
androm3da wants to merge 5 commits intorust-lang:mainfrom
androm3da:bcain/qurt_gaps
Open

Fix gaps in hexagon-unknown-qurt defs#5091
androm3da wants to merge 5 commits intorust-lang:mainfrom
androm3da:bcain/qurt_gaps

Conversation

@androm3da
Copy link
Copy Markdown
Contributor

Description

Testing with libstd revealed some QuRT definitions were missing and inaccurate. Providing those here to close those gaps.

Sources

Hexagon SDK e.g. https://github.com/snapdragon-toolchain/hexagon-sdk/releases

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally - some outstanding issues preventing tests (missing sched_yield e.g.) but w/local stubs tests pass

@androm3da
Copy link
Copy Markdown
Contributor Author

cc @quic-mliebel

@androm3da androm3da force-pushed the bcain/qurt_gaps branch 2 times, most recently from 104063f to 5811f5e Compare May 1, 2026 05:05
@rustbot

This comment has been minimized.

androm3da added 5 commits May 1, 2026 20:21
Compare Rust definitions against Hexagon SDK 6.4.0.2 computev69
POSIX headers and fix mismatches. Changes pthread_rwlock_t and
pthread_rwlockattr_t to *mut c_void, sigval from struct to union,
closedir param from *const to *mut DIR. Removes functions not
provided by QuRT (fork, execve, kill, alarm, pause, sigprocmask,
sigpending, creat). Adds sched_yield, SIGIOT, SIGPOLL; removes
SIGVTALRM.

Also adds test_qurt() ctest function (disabled — requires
sched_yield stub), libc-test/semver/qurt.txt, and fixes the
c_schar ambiguous glob re-export.
Add all pthread functions declared in the QuRT SDK pthread.h and
pthread_types.h: thread cancellation, scheduling, spinlocks, barriers,
rwlocks, and various attribute get/set functions. Moves
pthread_attr_{get,set}stack from mod.rs to pthread.rs.
Add POSIX message queue bindings from QuRT's mqueue.h: mq_attr struct,
mq_open/close/send/receive and friends, select, pselect.
Add timer_create, timer_delete, timer_gettime, and timer_settime
from QuRT's time.h POSIX timer API.
Add process/file functions from QuRT's hooks/unistd.h: getppid,
getpgid, getpgrp, setsid, get/set uid/gid variants, fsync, pathconf.
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 2, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants