Commit Graph

4105 Commits

Author SHA1 Message Date
auronandace 700cf642e5 move elf bits to cbindgen 2026-04-03 09:15:08 +01:00
Jeremy Soller 79232aecb8 Merge branch 'sigsetjmp-asm-fix' into 'master'
Fix regression caused in e553e9e4

See merge request redox-os/relibc!1155
2026-04-02 18:42:27 -06:00
Connor-GH aecec88fb6 Fix regression caused in e553e9e4
In the process of converting the assembly from AT&T syntax to Intel
syntax, bjorn3 made some mistakes. Firstly, `A+B(%reg)` is translated to
`[reg + A + B]`, and not `[reg * B + A]`. I can see how this was
confused because x86 also has an addressing mode that takes up to 4
arguments, where `A(%r1,%r2,B)` is translated to `[r1 + A + r2 * B]`
with the constraints that `B` must be a power of two <= 8, and `A` (if
present), must be an immediate. In this case, the `72+8` and such is
constfolded by the assembler into `80`.

This commit and the previous AT&T syntax version produce the exact same
assembly output now.
2026-04-02 19:14:42 -05:00
Jeremy Soller 8f9dde924b Merge branch 'fix-grp' into 'master'
make usize as size_t as per spec

See merge request redox-os/relibc!1154
2026-04-02 08:47:10 -06:00
Jeremy Soller 44efa11673 Merge branch 'platform-types-docs' into 'master'
Platform types docs

See merge request redox-os/relibc!1153
2026-04-02 08:47:08 -06:00
Peter Limkilde Svendsen 1f3cfcafb2 Platform types docs 2026-04-02 08:47:07 -06:00
Jeremy Soller 3ec44cf18c Merge branch 'cbindgen-iovec' into 'master'
export iovec via cbindgen function

See merge request redox-os/relibc!1152
2026-04-02 08:46:54 -06:00
auronandace 6d0030b765 make usize as size_t as per spec 2026-04-02 13:59:14 +01:00
auronandace 18ce904d7e export iovec via cbindgen function 2026-04-02 08:03:19 +01:00
Jeremy Soller 616f380856 Merge branch 'fix-rustdoc-warnings' into 'master'
Fix most rustdoc warnings

See merge request redox-os/relibc!1151
2026-04-01 18:47:12 -06:00
Jeremy Soller 369b45fceb Merge branch 'getopt-docs' into 'master'
Improve getopt.h docs

See merge request redox-os/relibc!1150
2026-04-01 18:46:38 -06:00
Peter Limkilde Svendsen 55f9c611b2 Fix most rustdoc warnings 2026-04-02 00:43:20 +02:00
Peter Limkilde Svendsen ce26bdc8b6 Improve getopt.h docs 2026-04-01 23:43:32 +02:00
Jeremy Soller 594381aaff Merge branch 'timeval-move-doc' into 'master'
Document moved spec of timeval struct

See merge request redox-os/relibc!1149
2026-04-01 15:35:42 -06:00
Jeremy Soller 0696a09005 Merge branch 'shadow-docs' into 'master'
Add docs for shadow.h

See merge request redox-os/relibc!1148
2026-04-01 15:35:35 -06:00
Peter Limkilde Svendsen 6f458cf1f3 Document moved spec of timeval struct 2026-04-01 23:20:05 +02:00
Peter Limkilde Svendsen b057e5078c Add docs for shadow.h 2026-04-01 22:54:30 +02:00
Jeremy Soller 0b880eb17d Merge branch 'split-iovec' into 'master'
split out iovec from sys_uio header

See merge request redox-os/relibc!1147
2026-04-01 08:41:26 -06:00
Jeremy Soller a64cebf296 Merge branch 'verify-grp-includes' into 'master'
verify grp header includes

See merge request redox-os/relibc!1146
2026-04-01 08:41:07 -06:00
Jeremy Soller 0630fa12f2 Merge branch 'stdio-bits' into 'master'
move stdio bits to cbindgen

See merge request redox-os/relibc!1145
2026-04-01 08:40:50 -06:00
Jeremy Soller d4c14e721e Merge branch 'stdlib-bits' into 'master'
move stdlib bits to cbindgen

See merge request redox-os/relibc!1144
2026-04-01 08:40:37 -06:00
Jeremy Soller a1c52aeae8 Merge branch 'feat/thread-based-alarm' into 'master'
feat: implement alarm(2) using thread-based POSIX timer machinery

See merge request redox-os/relibc!1109
2026-04-01 08:40:24 -06:00
auronandace 005b322c7c actually export iovec 2026-03-31 11:13:16 +01:00
auronandace 5d22f7096b split out iovec from sys_uio header 2026-03-31 11:03:41 +01:00
auronandace 83eb95a496 verify grp header includes 2026-03-31 09:15:51 +01:00
auronandace 1764004b80 move stdio bits to cbindgen 2026-03-31 08:53:10 +01:00
auronandace afd9cad0c3 move stdlib bits to cbindgen 2026-03-31 08:31:26 +01:00
Zero caa5ef8afb chore(signal): Move alarm function and adding the todo 2026-03-31 00:19:35 +02:00
Zero aca4df91cf feat(time): Add process_pid to timer_internal_t
Add `process_pid` field to `timer_internal_t` struct.
This field is used by the `alarm()` function to specify the PID of the process
to which the `SIGALRM` signal should be delivered.
2026-03-31 00:19:35 +02:00
Zero 5cbb4ba0cc test(unistd): Add alarm(2) test
Introduce a new test for the alarm(2) system call.
This test verifies the behavior of setting, cancelling,
and re-arming alarms, ensuring correct signal delivery
and return values.
2026-03-31 00:09:07 +02:00
Zero e0c9b0ed03 feat(signal): Implement alarm() and timer_settime logic
Adds the implementation for the `alarm()` function and its underlying
`alarm_timespec` helper. This involves managing a process-global POSIX timer
to deliver SIGALRM signals.
2026-03-31 00:09:07 +02:00
Jeremy Soller d34872cb35 Merge branch 'fgetws-fix' into 'master'
fgetws: don't always return NULL on EOF

See merge request redox-os/relibc!1126
2026-03-30 07:12:06 -06:00
Connor-GH e721d3d7c8 fgetws: don't always return NULL on EOF
This was a bug that prevented a lot of tests from passing. We only
need to return NULL if the file had an error. `fgetws` "stops when end
of stream is reached". Also, it only returns an error if "end of stream
was *already* reached or if an error occurred" (emphasis mine). Compare
this to the musl implementation:
https://git.musl-libc.org/cgit/musl/tree/src/stdio/fgetws.c
2026-03-29 21:10:59 -05:00
Jeremy Soller a1337a8fc0 Merge branch 'sysconf-heads' into 'master'
Add sysconf posix constants

See merge request redox-os/relibc!1143
2026-03-29 16:21:12 -06:00
Jeremy Soller 9b38ea8b55 Merge branch 'wchar-bits' into 'master'
move wchar bits to cbindgen

See merge request redox-os/relibc!1142
2026-03-29 15:32:18 -06:00
Jeremy Soller c9f6befae8 Merge branch 'exec-cache' into 'master'
Implement exec cache from ld_so cache

See merge request redox-os/relibc!1140
2026-03-29 15:31:56 -06:00
auronandace 4130dbce23 readd trailer for inttypes bits 2026-03-29 16:07:58 +01:00
auronandace 61eb827bc4 fix inttypes after moving wchar bits 2026-03-29 16:05:33 +01:00
auronandace 3b69b617a2 move wchar bits to cbindgen 2026-03-29 15:49:01 +01:00
Jeremy Soller e553e9e46d Merge branch 'fix_arm64' into 'master'
Move setjmp and sigsetjmp together

See merge request redox-os/relibc!1141
2026-03-29 08:36:20 -06:00
bjorn3 f8626fd9d0 Move setjmp and sigsetjmp together
This fixes compilation of relibc on arm64. On arm64 the reference from
sigsetjmp to setjmp has a limited range.
2026-03-29 16:18:21 +02:00
Jeremy Soller 18e47cdf5a Merge branch 'malloc-bits' into 'master'
move malloc bits to cbindgen

See merge request redox-os/relibc!1138
2026-03-29 07:10:14 -06:00
Jeremy Soller 078bfe81f1 Merge branch 'dirent-bits' into 'master'
move dirent bits to cbindgen

See merge request redox-os/relibc!1137
2026-03-29 07:09:58 -06:00
Jeremy Soller 299ee7da12 Merge branch 'errno-bits' into 'master'
move errno bits from C to cbindgen

See merge request redox-os/relibc!1136
2026-03-29 07:09:41 -06:00
Jeremy Soller 182b2daebe Merge branch 'rwlock-timeout' into 'master'
Implement clockid_t handling to pthread_rwlock timeout

See merge request redox-os/relibc!1139
2026-03-29 07:08:24 -06:00
Wildan M 6e1199448c Add sysconf posix constants 2026-03-29 17:39:13 +07:00
auronandace d84c8bf8f3 move malloc bits to cbindgen 2026-03-29 08:40:37 +01:00
Wildan M 464c840697 Fix linux compilation 2026-03-29 14:39:43 +07:00
auronandace 42d555b043 move dirent bits to cbindgen 2026-03-29 08:10:13 +01:00
auronandace 80db4127fd move errno bits from C to cbindgen 2026-03-29 07:44:55 +01:00