Guillaume Gielly
ba225e2000
Refactor strftime() to use langinfo constants for locale-based formatting :
...
- replaced hardcoded day and month names with calls to nl_langinfo,
- integrated langinfo constants DAY_1, ABDAY_1, MON_1, ABMON_1) for weekday and month names,
- used AM_STR and PM_STR for AM/PM strings in %p and %P specifiers,
- add comments.
2025-01-05 19:45:29 +01:00
Guillaume Gielly
770e768818
Implement 'langinfo.h'
2025-01-05 18:20:42 +01:00
Josh Megnauth
922878b22e
fix: GNU seems to prefer its own glob.h
...
Make (and possibly other) GNU programs seem to prefer using its own
`glob.h`. For Make, its configure detects if GNU's glob then uses it if
it is OR compiles a bundled version if it's not.
Make fails to link now that we have `glob.h` (duplicated symbols).
2025-01-05 02:37:41 -05:00
Jeremy Soller
25b0da4876
Merge branch 'sigsetjmp_x64_implementation' into 'master'
...
Implement sigsetjmp and siglongjmp for X64
See merge request redox-os/relibc!478
2025-01-04 00:29:19 +00:00
Bendeguz Pisch
35a3efd936
Implement sigsetjmp and siglongjmp for X64
2025-01-04 00:29:19 +00:00
Darley Barreto
c14b2cee4c
Adding tzset, timezone awareness, and some tweaks
2025-01-02 20:19:34 +00:00
Jeremy Soller
94e264d253
Merge branch 'patch5' into 'master'
...
fix(ld.so): errors UB
See merge request redox-os/relibc!595
2025-01-01 14:18:37 +00:00
Anhad Singh
01e6eda258
misc(dlfcn): cleanup
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 19:03:05 +11:00
Anhad Singh
42d884c6a3
fix(ld.so): errors UB
...
Currently, how ld.so errors are handled by functions in dlfcn is wrong.
dlopen calls `linker.load_library` which returns a
`Result<ObjectHandler, goblin::Error>`. Now `goblin::Error` may have
variants that are heap allocated. For example:
`Error::Malformed(format!("invalid path: '{}': {}", path, err))`. The
error string would be allocated by ld.so's allocator but will be dropped
inside libc. This is UB.
After this patch, we now return a custom `DlError` instead. To get more
information about the error, `LD_DEBUG=all` can be set.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 18:35:20 +11:00
Jeremy Soller
f08952b1b0
Merge branch 'patch5' into 'master'
...
feat: rwlock
Closes #196
See merge request redox-os/relibc!594
2024-12-30 17:17:05 +00:00
Jeremy Soller
e4162ef850
Merge branch 'monetary' into 'master'
...
Implement 'monetary.h' and and a basic strfmon() function
See merge request redox-os/relibc!589
2024-12-30 17:15:35 +00:00
Anhad Singh
0449c35e52
chore: fix formatting
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 01:23:51 +11:00
Anhad Singh
5eeb59dad2
feat(rand48): rwlock for global params
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 01:23:20 +11:00
Anhad Singh
cfe89f828a
feat: rwlock instead of mutex for global scope
...
* Rwlock -> InnerRwLock
* RwLock makes use of InnerRwLock.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 00:54:52 +11:00
Darley Barreto
ae5a5256b4
Add missing functions to string.h
2024-12-28 22:46:45 +00:00
Ron Williams
9df3708a1a
fix popen, improve tests
2024-12-26 17:14:15 -08:00
Guillaume Gielly
ff940da768
Simplify text alignement
2024-12-26 20:49:30 +01:00
Guillaume Gielly
1658d16b4e
Prevents buffer overflow on 'scale'
2024-12-26 20:40:49 +01:00
Guillaume Gielly
2f96ac181a
Refactor and logic of format_monetary()
2024-12-26 20:35:43 +01:00
Guillaume Gielly
ed4c1f089e
Refactor strfmon()
2024-12-26 19:33:16 +01:00
Guillaume Gielly
4bcf779119
Remove useless custon floatingpoint and use libm instead
2024-12-26 19:10:57 +01:00
Anhad Singh
1ffd7187ef
feat(dlfcn): define RTLD_DEFAULT
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-25 19:27:31 +11:00
Anhad Singh
2be4316aec
feat(dlfcn): return DSO as the handle
...
Fine because:
> The value of this handle should not be interpreted in any way by the
> caller.
From: https://pubs.opengroup.org/onlinepubs/009696599/functions/dlopen.html
* Add tests for unload
* Implement NOLOAD so we can test that the loaded object has been
destroyed.
* Minor cleanup.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-25 16:17:51 +11:00
Anhad Singh
1db68ab978
feat(ld.so): scopes
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-24 20:51:53 +11:00
Anhad Singh
5ae1b8e974
feat(ld.so): lazy binding
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-24 20:51:53 +11:00
Guillaume Gielly
f20c0552dd
Enhance monetary formatting implementation and improve comments for clarity
2024-12-23 21:56:45 +01:00
Guillaume Gielly
610909bd2b
Implement 'monetary.h', including initial structure and strfmon() function
2024-12-23 21:32:56 +01:00
Peter Limkilde Svendsen
93b6374d1e
Reimplement memcpy() using slices, fix unaligned read/write, add test
2024-12-23 19:14:44 +00:00
Jeremy Soller
a4ba9cf0ad
Merge branch 'relibc' into 'master'
...
Implement 'tar.h'
See merge request redox-os/relibc!588
2024-12-20 14:27:31 +00:00
gugz0r
ff66c10a27
Code cleanup.
2024-12-19 13:58:05 +01:00
gugz0r
e96eb6dac6
Fix formatting issues detected by rustfmt.
2024-12-18 23:11:02 +01:00
gugz0r
6fc19f8fdf
Add tests and improve comments.
2024-12-18 22:59:36 +01:00
gugz0r
a4cd089189
Implement 'tar.h'
2024-12-18 22:11:33 +01:00
Jeremy Soller
bc79bc4ac2
Merge branch 'unsafe_blocks-glob-inttypes-libgen' into 'master'
...
Unsafe blocks: `glob`, `inttypes`, `libgen`
See merge request redox-os/relibc!584
2024-12-18 14:04:12 +00:00
bitstr0m
ce7e553ae9
Implement cpio.h
2024-12-17 10:38:43 +00:00
Josh Megnauth
af7f5c4a3f
Unsafe blocks: glob, inttypes, libgen
...
Related to #194 .
2024-12-17 02:15:49 -05:00
Jeremy Soller
6fdcd4f44a
Merge branch 'unsafe_blocks-getopt-grp' into 'master'
...
Unsafe blocks: `getopt.h`, `grp.h`
See merge request redox-os/relibc!580
2024-12-15 14:34:38 +00:00
Jeremy Soller
444bb5b485
Merge branch 'glob' into 'master'
...
Implement `glob.h`
See merge request redox-os/relibc!579
2024-12-15 14:32:11 +00:00
Josh Megnauth
14988e33b2
Unsafe blocks: getopt.h, grp.h
2024-12-13 01:20:24 -05:00
bitstr0m
5d6ae507e1
Implement glob.h
2024-12-12 15:17:16 +00:00
Josh Megnauth
624947211a
Unsafe blocks: fcntl.h, fnmatch.h
2024-12-11 01:56:30 -05:00
Josh Megnauth
a7cb1c4176
Unsafe blocks: dl-tls, dlfcn
2024-12-10 02:13:32 -05:00
Jeremy Soller
dfb71665be
Merge branch 'dirent-unsafe_op_in_unsafe_fn' into 'master'
...
Use unsafe blocks in `dirint.h`
See merge request redox-os/relibc!574
2024-12-09 12:56:51 +00:00
Jeremy Soller
0dd6e27597
Merge branch 'dynamic_linker' into 'master'
...
fix(ld_so): for Linux
See merge request redox-os/relibc!570
2024-12-09 12:56:04 +00:00
Josh Megnauth
1642c1e1bc
Use unsafe blocks in dirint.h
2024-12-08 01:54:55 -05:00
Anhad Singh
c286ad2868
fix(ld.so): do not depend on TLS at all
...
In the next big refactor (next PR), all of the platform functionality
used by both relibc and ld.so will be moved into a `platform`/`sysdeps`
crate and then ld.so would be moved out of relibc and not link with it.
I think doing it in a seperate PR would make it more managable, as when
I did half of it, the diff was pretty huge and that way it would be
easier to review too :)
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-05 23:11:59 +11:00
Anhad Singh
d8f7590848
fix(__tls_get_addr): NULL check
...
Has to be done before adding the offsets.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-05 15:00:35 +11:00
Anhad Singh
43301848b9
Apply 1 suggestion(s) to 1 file(s)
...
Co-authored-by: Andrey Turkin <andrey.turkin+redox@gmail.com >
2024-12-05 02:55:34 +00: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