Commit Graph

395 Commits

Author SHA1 Message Date
Jeremy Soller 76242fc7bc Merge branch 'fix/ungetwc' into 'master'
Fix ungetwc for multi byte chars

See merge request redox-os/relibc!425
2023-10-19 14:58:57 +00:00
Darley Barreto 3d2dd71b8b Fix ungetwc for multi byte chars 2023-10-19 14:58:57 +00:00
Jeremy Soller 8f085eabbe Merge branch 'wcslen-related' into 'master'
Add wcpcpy, wcpncpy, wcsdup, wcsnlen, wcsnrtombs

See merge request redox-os/relibc!426
2023-10-19 14:58:37 +00:00
Darley Barreto 05992b8451 Add wcpcpy, wcpncpy, wcsdup, wcsnlen, wcsnrtombs 2023-10-19 14:58:37 +00:00
Henri Hannetel 330b50d734 Add UTIME_OMIT and UTIME_NOW 2023-10-19 14:57:58 +00:00
Darley Barreto db9bbaeb48 Make fgetwc real multibyte 2023-10-14 00:29:42 +00:00
Jeremy Soller 3359d4a040 Merge branch 'master' into 'master'
Groups

See merge request redox-os/relibc!407
2023-08-21 12:05:16 +00:00
Jacob Schneider 2f887ae434 Groups 2023-08-21 12:05:16 +00:00
Ron Williams 67213ef41a epoll: add check for zero length plus tests 2023-06-26 13:53:43 -07:00
Florian Meißner b66df46f33 strtof(), strtod(): handle NaN and Infinity 2023-06-05 23:04:25 +00:00
Jeremy Soller 3023dbb3c0 Add qsort test 2023-06-01 08:11:27 -06:00
Florian Meißner 14709b3d5c system(): on command == NULL, return nonzero if shell exists 2023-05-29 20:54:34 +02:00
Darley Barreto 9642d2ab02 Adding some wcst* functions 2023-05-22 16:01:04 +00:00
Darley Barreto 511d99aa21 Fix tests 2023-05-11 15:57:27 +00: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 3473088510 Add expected wprintf output 2023-05-11 07:48:52 -06:00
Jeremy Soller 98193b2eeb Add tests for wprintf 2023-05-11 07:48:23 -06:00
Darley Barreto 82eb083091 Fixing wcsrtombs 2023-05-10 12:48:33 +00:00
Darley Barreto c659bf11f9 Implementing ungetwc 2023-05-09 14:23:25 +00:00
Darley Barreto 7155005be2 Adding wcsrtombs. 2023-05-08 12:39:53 +00:00
Ron Williams 95e9162d22 change tzname to be mut 2023-05-06 13:20:30 -07:00
4lDO2 84e5b41200 Improve once test. 2023-05-06 17:02:55 +02:00
4lDO2 d8bc60e0fb Add more pthread tests. 2023-05-06 17:02:55 +02:00
4lDO2 fc01985410 WIP: fix errno and args output 2023-05-06 17:02:54 +02:00
4lDO2 5cd110a92b WIP: Add pthread tests. 2023-05-06 17:02:54 +02:00
4lDO2 7e91f3f950 Add pthread tests. 2023-05-06 17:02:54 +02:00
Ron Williams c3f3da6958 fix tzset cbindgen declarations 2023-05-06 02:55:36 -07:00
David Carlier 116583cdc7 sys_mman: adding madvise. 2023-04-15 10:41:42 +01:00
David Carlier ec6243bc5b wctrans/towctrans implementation proposal.
close #32
2023-03-27 19:15:08 +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
David Carlier 34f2fff983 strlcpy/strlcat api for portability's sake.
those functions differently than the strn* ones as
they do not pad with zero to remaining bytes but guarantees
a null terminator.
2023-03-24 09:44:33 +00:00
David Carlier 44f343bec8 explicit_bzero implementation proposal 2023-03-22 06:25:26 +00:00
Jeremy Soller 393489b38b Add wcswidth and test 2022-12-16 17:39:06 -07:00
Jeremy Soller 7d27737c3f Disable dynamic tests as they are not compiling 2022-12-16 17:18:07 -07:00
Nagy Tibor 5b2a12ca6d strtof, strtod: Fix parsing floats with exponents 2022-07-28 01:11:55 +02:00
Jeremy Soller 65bd3ed1e3 Fixes for program_invocation_name and program_invocation_short_name 2021-11-30 10:27:24 -07:00
Jeremy Soller 0cd4e349c0 Formatting of tests runner 2021-03-02 08:01:26 -07:00
Jeremy Soller 7fd366be70 Convert test runner to rust 2021-03-01 21:19:04 -07:00
Peter Limkilde Svendsen e3a0fdbc4a Test for time.h constants 2021-02-23 18:35: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
Jeremy Soller ccee7eae5f Merge branch 'tlssym' into 'master'
Fix dlsym of TLS variables

See merge request redox-os/relibc!327
2021-01-05 23:03:10 +00:00
Mateusz Tabaka 19ac34f2a0 Extend dlfcn tests 2021-01-05 22:48:41 +01:00
Mateusz Tabaka 6332828725 Call DSO destructors during exit() 2021-01-05 20:39:36 +01:00
Mateusz Tabaka 021a8e00fc Fix stdio/scanf test case
inner_scanf prematurely exited before parsing collected string
2021-01-03 16:07:43 +01:00
Mateusz Tabaka a7480ea656 Fix global symbols relocations
Instead of a single source of symbols, now linker keeps a list of DSO (former Library) objects
with their own symbols map. That helps to process R_X86_64_COPY relocations correctly.
For example, if 'a.out' executable with dependencies ['libstdc++.so', 'libc.so'] is being loaded
and 'a.out' uses 'stdout' symbol from 'libc.so', its relocation process goes as follows:
- linker processes relocation entry 'stdout' of type R_X86_64_GLOB_DAT from 'libc.so',
- it goes through object list ['a.out', 'libstdc++.so', 'libc.so'] to find first object
  that exports 'stdout' symbol. The symbol is in 'a.out' with the value e.g. '0x404070',
- linker sets 'stdout' symbol GOT entry in 'libc.so' to '0x404070',
....
- linker processes relocation entry 'stdout' of type R_X86_64_COPY from 'a.out',
- it goes through object list excluding 'a.out': ['libstdc++.so', 'libc.so']. The symbol is found in 'libc.so',
- linker copies the 'stdout' symbol content from 'libc.so' to memory at address '0x404070' (in 'a.out' object).

Objects are relocated in reverse order they were loaded. So in the example above, linker starts with relocating
'libc.so' and ends with 'a.out'. It is necessary e.g. when linking with 'libstdc++.so' - there are many
relocations which symbols are found in 'libstdc++.so', so they need to be resolved before their contents are
copied to 'a.out'. That also matches GNU ld.so behavior.
2021-01-03 16:04:40 +01:00
Jeremy Soller 1a0edd8eeb Add program_invocation_short_name 2020-12-23 20:24:04 -07:00
Jeremy Soller 5efaffe0f9 Ensure that nul test is passed after last commit and failed before 2020-12-23 08:25:44 -07:00
Jeremy Soller 3e49323a3a Merge branch 'dlopen' into 'master'
Add support for dlopen(NULL, ...)

See merge request redox-os/relibc!315
2020-10-02 03:21:42 +00:00
Mateusz Tabaka eee9a80baa Fix tls tests for dynamic linker
* load TLS segment for executable - while we can skip PT_LOAD for executable,
  we still have to load TLS segment.
* set TCB address based on if elf is position independent
2020-10-01 15:45:55 +02:00
Mateusz Tabaka c11aad71b8 Add support for dlopen(NULL, ...) 2020-09-30 11:04:10 +02:00