Josh Megnauth
1642c1e1bc
Use unsafe blocks in dirint.h
2024-12-08 01:54:55 -05:00
Jeremy Soller
6d94805cda
Merge branch 'fix-glib-netinet-in' into 'master'
...
Impl `sockaddr_storage`, structs in `netinet.h`
See merge request redox-os/relibc!573
2024-12-03 21:45:47 +00:00
Josh Megnauth
6295ce73ea
Impl sockaddr_storage, structs in netinet.h
2024-12-03 21:45:47 +00:00
Jeremy Soller
618954dd39
Merge branch 'add-stdnoreturn-h' into 'master'
...
Add `stdnoreturn.h`
See merge request redox-os/relibc!572
2024-12-03 21:41:59 +00:00
Jeremy Soller
98aa4ea57c
Merge branch 'fix-200-round_up_to_page_size-overflow' into 'master'
...
fix: `round_up_to_page_size` overflow
Closes #200
See merge request redox-os/relibc!569
2024-12-03 21:41:36 +00:00
Jeremy Soller
366c036a3a
Merge branch 'all-posix-headers' into 'master'
...
Add TODOs for remaining POSIX headers
See merge request redox-os/relibc!571
2024-12-03 21:41:07 +00:00
Josh Megnauth
96de114be8
Add stdnoreturn.h
...
This header is more or less the same across libc implementations.
`musl` uses its `_Noreturn` macro to detect which `noreturn`
should be used: C11 or GCC's extension as a fallback.
`glibc` simply defines `noreturn` as `_Noreturn`.
This implementation is based off of `musl`'s.
`_Noreturn` is deprecated as of C23.
2024-11-27 01:25:53 -05:00
Peter Limkilde Svendsen
5045d40fa2
Add TODOs for remaining POSIX headers
2024-11-26 22:02:42 +01:00
Josh Megnauth
6ec03b6f4a
fix: round_up_to_page_size overflow
...
Closes : #200
The spec doesn't define which error code to set if `len` is too large.
`ENOMEM` is the closest defined condition that fits:
>> [...] the range [addr,addr+len) exceeds that allowed for the address
space of a process [...]
Logically, `len` would lead to `addr` exceeding the address space of a
process if rounding it up to the next page size causes an overflow.
2024-11-26 00:37:12 -05:00
Jeremy Soller
a64a6a4cd0
Merge branch 'fix-failing-features-test' into 'master'
...
Temporarily disable `noreturn` attribute test
See merge request redox-os/relibc!568
2024-11-24 13:55:06 +00:00
Josh Megnauth
daa77e7149
Temporarily disable noreturn attribute test
2024-11-24 13:55:05 +00:00
Jeremy Soller
3c79fd759a
Merge branch 'exit-return-never' into 'master'
...
Exit should return never (`!`)
See merge request redox-os/relibc!567
2024-11-23 19:55:38 +00:00
Jeremy Soller
b95bd0dfa6
Merge branch 'fix-socket-set-edom-timeout-overflow' into 'master'
...
fix: Multiplication overflow in setsockopt
Closes #201
See merge request redox-os/relibc!566
2024-11-23 19:53:33 +00:00
Josh Megnauth
a709dd47bf
fix: Multiplication overflow in setsockopt
2024-11-23 19:53:33 +00:00
Josh Megnauth
90f934c769
Exit should return never (!)
...
`_Exit`, `exit`, and related functions should return `!` because they
don't return. This also signals to cbindgen that it should emit
`[[noreturn]]` for those functions.
2024-11-23 03:33:00 -05:00
Jeremy Soller
a430a7861d
Merge branch 'pwd-docs' into 'master'
...
Add docs for pwd.h
See merge request redox-os/relibc!563
2024-11-21 15:07:30 +00:00
Peter Limkilde Svendsen
864f4306ce
Add docs for pwd.h
2024-11-21 15:07:30 +00:00
Jeremy Soller
7a729571ec
Merge branch 'sys-auxv-docs' into 'master'
...
Add docs for sys/auxv.h
See merge request redox-os/relibc!564
2024-11-21 15:07:25 +00:00
Jeremy Soller
8381218ab1
Merge branch 'sys-file-docs' into 'master'
...
Add docs for sys/file.h
See merge request redox-os/relibc!565
2024-11-21 15:07:21 +00:00
Peter Limkilde Svendsen
5591eeacb3
Add docs for sys/file.h
2024-11-20 23:21:48 +01:00
Peter Limkilde Svendsen
399b0ad81f
Add docs for sys/auxv.h
2024-11-20 23:17:10 +01:00
Jeremy Soller
e528eae801
Merge branch 'string-docs' into 'master'
...
Add docs for string.h, add missing functions
See merge request redox-os/relibc!562
2024-11-19 00:20:40 +00:00
Peter Limkilde Svendsen
2a7d01f02d
Add docs for string.h, add missing functions
2024-11-19 00:20:40 +00:00
Jeremy Soller
46c2d36193
Merge branch 'fix-dns-extra-output' into 'master'
...
fix(netdb): Buffer overrun when parsing DNS
See merge request redox-os/relibc!559
2024-11-18 13:43:23 +00:00
Josh Megnauth
fc1e220a99
fix(netdb): Buffer overrun when parsing DNS
2024-11-18 13:43:22 +00:00
Jeremy Soller
32fca670ea
Merge branch 'memmem-cast-mut' into 'master'
...
Use only one .cast_mut() in memmem()
See merge request redox-os/relibc!561
2024-11-17 20:09:46 +00:00
Peter Limkilde Svendsen
864d5e4795
Use only one .cast_mut() in memmem()
2024-11-17 20:19:52 +01:00
Jeremy Soller
2c73cc947c
Merge branch 'memmem' into 'master'
...
Implement memmem()
See merge request redox-os/relibc!560
2024-11-17 16:18:15 +00:00
Peter Limkilde Svendsen
6a765ed88f
Implement memmem()
2024-11-17 16:18:14 +00:00
Jeremy Soller
ce7b85b0df
Merge branch 'dont-overallocate-cstrings' into 'master'
...
Avoid over allocations & reallocations
See merge request redox-os/relibc!558
2024-11-17 16:17:22 +00:00
Jeremy Soller
88987eb000
Merge branch 'pty-utmp-docs' into 'master'
...
Add docs for pty.h and utmp.h
See merge request redox-os/relibc!557
2024-11-17 16:17:04 +00:00
Jeremy Soller
09bcfd0711
Merge branch 'errno-const-macros' into 'master'
...
Test errno constant macros, make ENOTSUP available in Rust
See merge request redox-os/relibc!556
2024-11-17 16:16:47 +00:00
Peter Limkilde Svendsen
42011f28d8
Test errno constant macros, make ENOTSUP available in Rust
2024-11-17 16:16:47 +00:00
Jeremy Soller
caac784caa
Merge branch 'iso646' into 'master'
...
Add iso646.h and corresponding tests
See merge request redox-os/relibc!555
2024-11-17 16:16:11 +00:00
Jeremy Soller
7b2e315c17
Merge branch 'cbindgen-use-attributes' into 'master'
...
Emit C attributes via cbindgen
See merge request redox-os/relibc!548
2024-11-17 16:15:07 +00:00
Josh Megnauth
5348273ccc
Emit C attributes via cbindgen
2024-11-17 16:15:07 +00:00
Jeremy Soller
dbe5c85411
Merge branch 'inttypes-docs' into 'master'
...
Add docs for inttypes.h
See merge request redox-os/relibc!554
2024-11-17 16:13:32 +00:00
Jeremy Soller
693769da1e
Merge branch 'sys-random-docs' into 'master'
...
Add docs for sys/random.h
See merge request redox-os/relibc!553
2024-11-17 16:13:17 +00:00
Jeremy Soller
093d11c451
Merge branch 'elf-docs' into 'master'
...
Add basic docs for elf.h
See merge request redox-os/relibc!552
2024-11-17 16:13:01 +00:00
Jeremy Soller
c57022894b
Merge branch 'crypt-docs' into 'master'
...
Add docs for crypt.h
See merge request redox-os/relibc!551
2024-11-17 16:12:44 +00:00
Peter Limkilde Svendsen
b8ad113a84
Add docs for crypt.h
2024-11-17 16:12:43 +00:00
Jeremy Soller
63cb0401e5
Merge branch 'calloc-no-intrinsics' into 'master'
...
Avoid unnecessary intrinsic in calloc
See merge request redox-os/relibc!550
2024-11-17 16:12:27 +00:00
Josh Megnauth
d6ac5f8947
Avoid over allocations & reallocations
...
As we know, vectors amortize the cost of adding new elements by reserving
space for multiple elements when full. This is useful but may lead to
allocating more memory than necessary.
`relibc` generally avoids over allocations by reserving the exact amount
of space when possible. I fixed a few areas that still over allocated or
reallocated unnecessarily by leveraging iterators that are more likely
to know sizes.
2024-11-14 22:53:12 -05:00
Peter Limkilde Svendsen
66eb440d79
Add docs for pty.h and utmp.h
2024-11-13 18:19:22 +01:00
Peter Limkilde Svendsen
56d05e2cdc
Add iso646.h and corresponding tests
2024-11-10 16:19:15 +01:00
Peter Limkilde Svendsen
2f1e183cc6
Add docs for inttypes.h
2024-11-09 18:24:18 +01:00
Peter Limkilde Svendsen
0090dea50f
Add docs for sys/random.h
2024-11-09 18:12:58 +01:00
Peter Limkilde Svendsen
1474dce2a7
Add basic docs for elf.h
2024-11-09 18:02:47 +01:00
Peter Limkilde Svendsen
c440c61e58
Avoid unnecessary intrinsic in calloc
2024-11-09 17:35:09 +01:00
Jeremy Soller
a45c7b26d9
Merge branch 'stdlib-docs' into 'master'
...
Add docs for stdlib.h, add stubs for missing functions
See merge request redox-os/relibc!549
2024-11-08 14:45:26 +00:00