Commit Graph

452 Commits

Author SHA1 Message Date
Jeremy Soller 9c055142cf Add sys/types.h to utime.h 2023-03-10 07:54:02 -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 04d2f296a9 Fix for epoll on i686 redox 2023-03-03 19:58:05 -07:00
Ian Douglas Scott ff70567cd6 Fix definition of wcstombs 2023-01-13 21:49:28 -08:00
Jeremy Soller 21efe2d3a1 Clarify localeconv mutability 2022-12-16 20:10:01 -07:00
Jeremy Soller 0fab7f1864 Make localeconv return mutable pointer, matching specification 2022-12-16 19:55:13 -07:00
Jeremy Soller 6516695519 Format 2022-12-16 17:39:30 -07:00
Jeremy Soller 393489b38b Add wcswidth and test 2022-12-16 17:39:06 -07:00
Jeremy Soller 59b2e32953 Fix compilation on 32-bit systems 2022-12-02 08:00:36 -07: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 f65c1c27c7 Implement wcwidth 2022-11-10 10:12:41 -07:00
Jeremy Soller 5032cdb6d8 Add MADV constants 2022-10-25 08:16:00 -06:00
Jeremy Soller b30c33adc3 Add getsid stub 2022-10-17 11:37:58 -06:00
Jeremy Soller fc8e55abd8 Add FIONREAD on Redox 2022-10-17 10:39:31 -06:00
Jeremy Soller e0be408287 fegetround is implemented in openlibm, remove no_mangle 2022-08-22 08:39:53 -06:00
Jeremy Soller 4b90afeb2a Merge branch 'hstrerror' into 'master'
Implement hstrerror

See merge request redox-os/relibc!341
2022-08-12 12:18:08 +00:00
Jeremy Soller 3eb52eabf5 Fix missing NUL for setenv 2022-08-04 08:55:01 -06:00
Jeremy Soller 2f271268af Add MSG_DONTWAIT 2022-08-01 10:09:31 -06:00
Jeremy Soller dc865148fc Get Linux to compile again 2022-07-27 10:10:41 -06:00
4lDO2 049a5156d7 Implement PT_INTERP, and thus dynamic linking.
With this change, gcc can now successfully compile a tiny program that
printfs an integer returned from a function, from a dynamically linked
library that it compiled as well.

Rustc however, is orders of magnitude more complex, and the next step is
to fix constructors which require access to `environ`, in ld.so
2022-07-26 21:34:48 +02: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
Jeremy Soller afb5094cda Add triple underscore tls_get_addr for x86 2022-07-22 19:35:59 -06:00
Jeremy Soller abe30ba884 Add i386 __restore_rt 2022-07-22 19:24:05 -06:00
Jeremy Soller ece0bd090d Fix x86 setjmp/longjmp 2022-07-22 19:23:46 -06:00
Jeremy Soller 559387cc64 Initial support for x86 32-bit 2022-07-22 16:24:45 -06:00
4lDO2 ebd597f748 Update dependencies for rust 2022-03-18. 2022-03-24 17:12:02 +01:00
Jeremy Soller f63d9cefad Add mlock and friends 2022-03-17 14:03:45 -06:00
Jeremy Soller 6b46704ac3 Fix netdb stack overuse 2021-11-30 10:30:31 -07:00
Jeremy Soller 65bd3ed1e3 Fixes for program_invocation_name and program_invocation_short_name 2021-11-30 10:27:24 -07:00
Jeremy Soller b2dd1f8950 Add cfsetispeed and cfsetospeed stubs for redox 2021-09-14 20:56:35 -06:00
Jeremy Soller ae7cee26a6 Move wctype_t definition to wctype rust header 2021-09-14 20:36:23 -06:00
Jeremy Soller e5d2ba754a Match termios structure to that used in redox_termios 2021-09-13 20:39:40 -06:00
Noa f06af86ac6 Implement hstrerror 2021-08-13 17:27:10 -05:00
Jeremy Soller 753c190995 Implement wctype.h 2021-07-19 10:04:29 -06:00
Jeremy Soller 3f12d8917c Add casecmp source information 2021-07-19 09:37:18 -06:00
Jeremy Soller f8f18ed779 Remove old _wctype module 2021-07-19 09:17:11 -06:00
Jeremy Soller 9f3aa6d4a8 Define wctype_t and wctype 2021-07-19 09:16:56 -06:00
4lDO2 d35c303ef0 Implement chroot as always returning EPERM. 2021-06-17 22:31:39 +02:00
4lDO2 d69c115421 Compile on latest nightly.
This also replaces all the assembly that previously used the AT&T style
with the (in my opinion) superior Intel syntax.

I tried prepending `.att_syntax prefix`, but that did not work...
2021-06-17 22:31:39 +02:00
4lDO2 700c53cf17 Update toolchain to 2021-06-15 2021-06-17 22:31:30 +02:00
Jeremy Soller 075fd5be62 Merge branch 'gmtime-yday-fix' into 'master'
Simplify gmtime_r() day-of-year calculation, correct comment

See merge request redox-os/relibc!311
2021-03-27 16:53:08 +00:00
Peter Limkilde Svendsen 9e8cd0bf07 Centralize page size info in platform abstraction 2021-03-24 00:02:39 +01:00
Jeremy Soller 307cd56824 Merge branch 'fix-tcsetattr' into 'master'
Handle TCSETSW and TCSETSF in ioctl

Closes #168

See merge request redox-os/relibc!324
2021-03-12 18:51:39 +00:00
Noah 49e3e44bf1 Handle TCSETSW and TCSETSF in ioctl 2021-03-12 12:50:17 -06:00
Jeremy Soller 6b5706dc95 Merge branch 'time-utc-cast' into 'master'
Use as-less cast for UTC string

See merge request redox-os/relibc!331
2021-02-28 02:06:22 +00:00
Jeremy Soller 6b183aef26 Replace use of int 80h with syscall in __restore_rt 2021-02-27 13:08:48 -07:00
Peter Limkilde Svendsen f49be31762 Use as-less cast 2021-02-19 00:17:24 +01: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