Commit Graph

182 Commits

Author SHA1 Message Date
Jeremy Soller ed575e9259 Implement sigsetjmp on all archs 2025-04-11 20:18:27 -06:00
Jeremy Soller b3fbea62da Define __uint32_t and __uint64_t for openlibm 2025-04-11 15:47:57 -06:00
Josh Megnauth 27cd6a2b88 fix: USHRT_MAX is too large
The original expanded to 16 nibbles which is technically correct because
the standard defines USHRT_MAX as being at LEAST 65535. However, in
practice everything seems to set the max as the max length of two bytes.
2025-02-18 00:06:58 -05:00
Peter Limkilde Svendsen b3f36faf87 Add pvalloc() 2025-02-11 21:13:51 +01:00
Bendeguz Pisch 35a3efd936 Implement sigsetjmp and siglongjmp for X64 2025-01-04 00:29:19 +00:00
bitstr0m ce7e553ae9 Implement cpio.h 2024-12-17 10:38:43 +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
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
Josh Megnauth 5348273ccc Emit C attributes via cbindgen 2024-11-17 16:15:07 +00:00
Peter Limkilde Svendsen 56d05e2cdc Add iso646.h and corresponding tests 2024-11-10 16:19:15 +01:00
Josh Megnauth bf1ea4e799 Set h_errno for gethostbyname/addr 2024-11-02 12:21:47 +00:00
Andrey Turkin a4122753e6 Initial RISC-V64 support 2024-10-11 06:44:54 +03:00
Jeremy Soller c254ab3219 Add sys/poll.h 2024-10-10 15:06:49 -06:00
4lDO2 30caf55429 Set siginfo_t.si_{pid,uid} from kill signals too. 2024-09-24 19:34:51 +02:00
4lDO2 13e7b77643 Implement basic support for (kernel) rt signals. 2024-09-24 19:34:50 +02:00
4lDO2 284f51b47e Fix struct sigaction defintion. 2024-07-09 15:39:57 +02:00
Jeremy Soller eb3b93d14a Define strtold in C until Rust and cbindgen can use f128 2024-01-12 12:21:20 -07:00
Jeremy Soller 17ac6ef039 Remove inline from strtold 2024-01-12 12:05:47 -07:00
Jeremy Soller 225655b711 Do not mark strtold as static 2024-01-12 11:53:47 -07:00
Jeremy Soller b8ee20cb66 Remove duplicate wprintf definitions 2024-01-12 11:29:33 -07:00
4lDO2 5630b6e0df Make relibc (except libm) pure Rust 2024-01-11 13:08:06 +00:00
Jeremy Soller 2a40638ec3 Fix assert definition 2024-01-03 13:02:51 -07:00
Jeremy Soller c55649452a Define struct ucred 2023-09-13 11:33:55 -06:00
4lDO2 b063533a8e Remove redox_phys{map,unmap}. 2023-07-20 16:34:04 +02:00
Jeremy Soller e2fd33db40 Ensure wchar_t and wint_t definitions can coexist with GCC stddef.h 2023-05-11 11:26:55 -06:00
Jeremy Soller 51c93c4b39 Cleanup of wchar_t and wint_t definitions 2023-05-11 10:41:49 -06:00
Jeremy Soller 848fde933b Merge branch 'remove_pthreads_emb' into 'master'
Replace pthreads-emb with a native implementation

See merge request redox-os/relibc!380
2023-05-11 13:56:11 +00:00
Jeremy Soller 5a5bd0c983 Add stubs for wprintf functions 2023-05-11 07:48:21 -06:00
4lDO2 fc01985410 WIP: fix errno and args output 2023-05-06 17:02:54 +02:00
Jeremy Soller 0646140d99 Remove detailed abort, too many compatibility issues 2023-03-10 11:33:53 -07:00
Jeremy Soller e7b70fdb93 Ensure assert_fail and abort have noreturn attribute 2023-03-10 11:23:56 -07:00
Jeremy Soller 334e33cfde Fix abort definition for C++ 2023-03-10 10:45:19 -07:00
Jeremy Soller 2b3e9a3bd0 Use backup abort on C++ 2023-03-10 10:23:08 -07:00
Jeremy Soller dab147f862 Change stdint include order so __need_ defines are set 2023-03-10 07:53:53 -07:00
Jeremy Soller 47bd55451f Detailed information on abort using macro and new __abort function 2023-03-09 20:19:27 -07:00
Jeremy Soller a37916101f Add M_2_PI 2023-01-17 22:11:46 -07:00
Jeremy Soller 058509bd88 Define float_t and double_t 2022-12-19 09:10:14 -07:00
Jeremy Soller 041d1604b5 Make off_t and time_t long long 2022-12-02 07:42:26 -07:00
Jeremy Soller ae7cee26a6 Move wctype_t definition to wctype rust header 2021-09-14 20:36:23 -06:00
Jeremy Soller 9f3aa6d4a8 Define wctype_t and wctype 2021-07-19 09:16:56 -06:00
Jeremy Soller 1a0edd8eeb Add program_invocation_short_name 2020-12-23 20:24:04 -07:00
Jeremy Soller 928b18b306 Add sysexits.h 2020-12-23 13:45:25 -07:00
jD91mZM2 b9828bd863 Merge branch 'elf_And_flock' into 'master'
Elf and flock

See merge request redox-os/relibc!283
2020-08-12 10:17:59 +00:00
oddcoder e14b3e09a5 Add elf.h header to relibc 2020-08-08 10:16:50 +02:00
jD91mZM2 e17c6049c6 Fix libgmp compilation 2020-07-15 11:12:59 +02:00
oddcoder f4d95ce43f Add sys/select.h to sys/types.h
This was triggered by gcc for some reason It included sys/types.h and
assumed sys/select.h to be there. And that seams to be the case in musl.

The problem with relibc here is that sys/types.h is are part of relibc
"include/*.h" files, while sys/select.h is generated by cbindgen. That
makes it impossible to #include select.h in types.h epsecially that
there are files like fcntl.c that uses types.h. They would complain
about missing headers. I fixed this by renaming sys/types.h to
sys/types_internal.h and then generating types.h using cbindgen as well
except for that. however fcntl and dlmalloc can include types_internal
instead of types.h
2020-06-14 22:00:16 +02:00
oddcoder a125b8be15 Make stdbool.h C++ compatiable
The problem here is that _Bool type is not defined in C++ yet this file
is using it. That leads to issues when compiling gcc. I borrowed the
same techniques used in other stdbool.h
2020-06-14 22:00:10 +02:00
no name c02849dd73 FIX error: right operand of shift expression '(1 << BLA)' is greater than or equal to the precision BLA of the left operand [-fpermissive] 2020-06-02 23:27:15 +02:00