Jeremy Soller
aa7c438ebe
Merge branch 'patch5' into 'master'
...
fix(ld.so): properly do copy relocations
See merge request redox-os/relibc!604
2025-01-18 13:17:38 +00:00
Anhad Singh
d3073fdad4
feat(ld.so): more debug info for scopes
...
When scopes is set for `LD_DEBUG`, more debug information is displayed
now,
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-19 00:11:51 +11:00
Anhad Singh
99449094d4
chore: formatting
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-19 00:03:07 +11:00
Anhad Singh
4a08220664
fix(ld.so): copy relocations
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-18 23:51:53 +11:00
Anhad Singh
e3dc5d0617
chore(dso): remove unused members
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-18 21:20:10 +11:00
Jeremy Soller
76014e8271
Merge branch 'patch5' into 'master'
...
feat(ld.so): add support for DT_RELR
See merge request redox-os/relibc!602
2025-01-15 13:52:06 +00:00
Anhad Singh
3440985729
fix(dso): 32-bit
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-15 21:32:40 +11:00
Anhad Singh
a631703837
cleanup(makefile): unify rule for libc.so
...
Does the same thing.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-15 19:16:37 +11:00
Anhad Singh
cf21cf24fc
feat(libc.so): link flags
...
* -z pack-relative-relocs
* --sort-common
* --gc-sections
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-15 13:49:28 +11:00
Anhad Singh
07ff79069e
feat(ld.so): add support for DT_RELR
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-15 13:49:27 +11:00
Jeremy Soller
a3c12e27e4
Fix build for i686
2025-01-14 18:01:26 -07:00
Jeremy Soller
b011dbe366
Merge branch 'master' of https://gitlab.redox-os.org/redox-os/relibc
2025-01-14 12:24:38 -07:00
Jeremy Soller
5a69226af6
Fix compilation with new nightly
2025-01-14 12:24:33 -07:00
Jeremy Soller
f4fff7448e
Merge branch 'patch5' into 'master'
...
fix(ld.so): less locks
See merge request redox-os/relibc!601
2025-01-13 22:23:41 +00:00
Jeremy Soller
f9590c4b17
Update rust-toolchain
2025-01-13 14:33:43 -07:00
Anhad Singh
b9e0505715
fix(ld.so): less locks
...
Acquire the global scope lock at the start of relocate.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-13 23:48:03 +11:00
Jeremy Soller
90f30c5f51
Make NulTerminated::new return option
2025-01-09 13:33:56 -07:00
Jeremy Soller
af50d18d16
Return error instead of panic when load_library cannot find root DSO
2025-01-09 13:33:29 -07:00
Jeremy Soller
02520b194e
Fix compilation with trace feature
2025-01-09 12:23:23 -07:00
Jeremy Soller
01d7f7b44a
Fixup last commit
2025-01-09 10:22:28 -07:00
Jeremy Soller
431d55aa24
Add setlinebuf
2025-01-09 10:21:17 -07:00
Jeremy Soller
77d96541d9
Merge branch 'langinfo' into 'master'
...
Implement 'langinfo.h' and refactor strftime() to use langinfo constants
See merge request redox-os/relibc!599
2025-01-08 21:31:46 +00:00
Jeremy Soller
a7b608260a
Merge branch 'patch5' into 'master'
...
feat(ld.so): performance improvements
See merge request redox-os/relibc!600
2025-01-08 14:44:34 +00:00
Anhad Singh
aae27c5e0c
feat(ld.so): switch to object crate
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-08 16:50:47 +11:00
Anhad Singh
e49072655c
feat(ld.so): partially switch to object
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-08 16:50:10 +11:00
Anhad Singh
e219f9768e
feat(ld.so): GNU hash table
...
Note that the ELF specification mandates the presence of either the GNU
hash table or SysV hash table. See Figure 2-7. Dynamic Array Tags.
Also both can be present, though that is not currently handled.
BLAZINGLY FAST!
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-01-08 16:48:26 +11:00
Guillaume Gielly
420a902e2b
Readd item constants...
2025-01-07 13:55:54 +01:00
Guillaume Gielly
b0c45af008
Refactor langinfo module to use a static string table for constants
2025-01-07 13:47:05 +01:00
Jeremy Soller
b67d7e2fdf
Merge branch 'fix-gnu-make-glob' into 'master'
...
fix: GNU seems to prefer its own glob.h
See merge request redox-os/relibc!598
2025-01-07 00:15:33 +00:00
Guillaume Gielly
b5b5bd2522
Support building with #![deny(unsafe_op_in_unsafe_fn)]
2025-01-05 23:02:04 +01:00
Guillaume Gielly
cf106906b5
Code cleanup
2025-01-05 22:30:35 +01:00
Guillaume Gielly
ffd5edd283
Add strptime() module and clean up unused strptime function
2025-01-05 20:10:50 +01:00
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
Jeremy Soller
9265b778c6
Merge branch 'impr_time' into 'master'
...
Adding `tzset`, timezone awareness, and some tweaks
See merge request redox-os/relibc!596
2025-01-02 20:19:34 +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
bfe1c0b545
fix(ld.so): redox build
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 19:30:37 +11: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
Anhad Singh
9cf72fd0b2
feat(ld.so): add all option for LD_DEBUG
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 18:00:45 +11:00
Anhad Singh
60f700fb50
chore(linker): remove todo
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 15:26:23 +11:00
Anhad Singh
c25292ae21
misc(ld.so): clippy fixes
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 15:25:40 +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
Jeremy Soller
ac9505c246
Merge branch 'fix-199-improved-hashbang' into 'master'
...
Handle prepended whitespace for hashbang
See merge request redox-os/relibc!591
2024-12-30 17:14:24 +00:00
Josh Megnauth
513f1951fe
Handle prepended whitespace for hashbang
2024-12-30 17:14:24 +00:00