Commit Graph

91 Commits

Author SHA1 Message Date
Peter Limkilde Svendsen dbcf8049fc Refactor rand48 functions with less unsafe 2024-07-15 17:44:56 +00:00
Peter Limkilde Svendsen a7137512fa Use standard casing and mangling for internal errno 2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen 9093f6bc47 Use Cell representation for errno 2024-02-29 14:07:40 +00:00
Jeremy Soller af7441e834 Implement grantpt as no-op 2024-01-18 13:26:14 -07:00
Darley Barreto 9d8094baee Add forkpty, ptsname and posix_openpt 2024-01-17 03:05:50 +00:00
Jeremy Soller a8f9f64274 Fix stack_chk_guard size on 32-bit 2024-01-11 09:41:17 -07:00
4lDO2 5630b6e0df Make relibc (except libm) pure Rust 2024-01-11 13:08:06 +00:00
4lDO2 75d1c67ca2 Switch to a lightweight CStr wrapper 2023-11-04 18:29:38 +00:00
Florian Meißner 14709b3d5c system(): on command == NULL, return nonzero if shell exists 2023-05-29 20:54:34 +02:00
4lDO2 cdd0f67b23 Rustfmt. 2023-05-17 15:28:10 +02: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
Darley Barreto 7155005be2 Adding wcsrtombs. 2023-05-08 12:39:53 +00:00
4lDO2 b9f19f4326 Get pcid to work using this pthread impl. 2023-05-06 17:02:51 +02:00
David Carlier eb87e2b796 fix no_mangle annotation missing 2023-04-26 19:42:29 +01:00
David Carlier 40b1cec31e stdlib: unlockpt implementation proposal 2023-04-18 21:24:53 +01:00
David Carlier cde60c9f0e stdlib: getsubopt implementation proposal. 2023-04-16 10:58:46 +01:00
David Carlier 3fe37e36fa reallocarray introduction available on glibc 2.26. allocates an array of m*n elements but checking for overflow. 2023-03-26 08:35:44 +01: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 47bd55451f Detailed information on abort using macro and new __abort function 2023-03-09 20:19:27 -07:00
Ian Douglas Scott ff70567cd6 Fix definition of wcstombs 2023-01-13 21:49:28 -08:00
Jeremy Soller 9e0c53f222 Make long 32-bits on 32-bit systems 2022-12-01 18:33:00 -07:00
Jeremy Soller 16abc91341 cargo fmt and cargo fix 2022-11-11 13:27:18 -07:00
Jeremy Soller 3eb52eabf5 Fix missing NUL for setenv 2022-08-04 08:55:01 -06:00
4lDO2 c95d276af9 Allow POSIX's environ to be set.
Rust's libstd for example uses environ when using the `envs` builder
method for spawning processes, and therefore relibc cannot simply assume
environ will always point to the internal relibc env var Vec.
2022-07-26 21:33:01 +02:00
Mateusz Tabaka 02f202ff83 Use BufWriter (instead of LineWriter) for FILEs other than stdout and stderr
BufWriter has more capacity (8k vs 1k) and doesn't flush the stream after '\n'.
That change helps to reduce the number of syscalls, especially when dealing with text files.

Since BufWriter has a different way of getting number of pending elements than LineWriter -
Pending trait was introduced to deal with that.
2021-01-14 18:45:14 +01:00
Mateusz Tabaka 6332828725 Call DSO destructors during exit() 2021-01-05 20:39:36 +01:00
Jeremy Soller bddd69d0c1 Print when abort is called 2020-12-23 11:20:07 -07:00
jD91mZM2 593925ceb4 Unambiguate all include guards
GNU binutils also uses _FNMATCH_H for a guard, maybe along others!
2020-06-29 11:34:51 +02:00
Jeremy Soller 7ea5cd5133 Merge branch 'rename-lcg48-rand48' into 'master'
Rename lcg48 module as rand48

See merge request redox-os/relibc!287
2020-06-24 16:55:27 +00:00
Peter Limkilde Svendsen 5c8393d5aa Don't assume u32 alignment of random() state buffer 2020-06-24 16:46:59 +00:00
Peter Limkilde Svendsen 59b040258a Rename lcg48 as rand48 2020-06-23 18:34:44 +02:00
Peter Limkilde Svendsen cc33874363 Implement random() and friends 2020-06-22 21:56:39 +00:00
Peter Limkilde Svendsen da8d2fa7aa Always set memptr in posix_memalign() 2020-05-24 18:29:57 +02:00
Peter Limkilde Svendsen 60b23003c7 Simplify alignment check in posix_memalign() 2020-05-24 18:17:27 +02:00
AdminXVII 884ec85838 Replace occurences of uninitialized with MaybeUninit
mem::uninitialized is deprecated, so move over the not-UB MaybeUninit.
2020-01-20 16:54:22 +00:00
Peter Limkilde Svendsen 7fdd450e16 lcg48 refactor 2019-09-15 19:34:12 +00:00
Peter Limkilde Svendsen a80ec357e3 Refactor of a64l and l64a 2019-09-15 19:33:29 +00:00
jD91mZM2 b8c50c7c64 Format 2019-08-04 19:05:45 +02:00
jD91mZM2 c7d499d4f2 Upgrade to the 2018 edition
I didn't think it'd be this useful first, but thank god for `cargo fix --edition`!
2019-08-04 19:05:45 +02:00
Mateusz Mikuła 63a1319e50 Cbindgen update 2019-07-10 10:08:39 +00:00
Peter Limkilde Svendsen 02e26006e7 Alloc functions cleanup 2019-07-01 11:02:10 +00:00
Peter Limkilde Svendsen 6cc5216c9c Implement l64a() 2019-07-01 10:59:37 +00:00
jD91mZM2 d9ed51b9f1 Merge branch 'lcg48_arr' into 'master'
Implement remaining LCG functions

See merge request redox-os/relibc!219
2019-06-12 09:31:18 +00:00
Peter Limkilde Svendsen 626c713021 Formatting 2019-05-30 18:35:16 +02:00
Peter Limkilde Svendsen 02d1a7fe6f Implement posix_memalign 2019-05-30 18:28:15 +02:00
Peter Limkilde Svendsen 7a48107080 Run fmt 2019-05-23 21:48:43 +02:00
Peter Limkilde Svendsen dcff3fd836 Use y_from_x naming for functions 2019-05-23 21:40:06 +02:00
Peter Limkilde Svendsen fe4a3ae2b4 Refactor for consistency 2019-05-23 21:33:20 +02:00