Jeremy Soller
2f69f0e7f1
Add simple semaphore implementation using futex
2020-12-23 12:18:17 -07:00
Jeremy Soller
79452dbd80
Remove warnings in elf.h
2020-12-23 12:18:02 -07:00
Jeremy Soller
bddd69d0c1
Print when abort is called
2020-12-23 11:20:07 -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
94a6da9116
Fix lookahead buffer reading nul's
2020-12-23 08:20:11 -07:00
Jeremy Soller
07ec3b6591
Merge branch 'mk-subs' into 'master'
...
Add submodules target to main makefile
See merge request redox-os/relibc!323
2020-10-18 19:48:03 +00:00
hasheddan
e5539a570f
Add submodules target to main makefile
...
Adds a submodules convenience target to main makefile. Submodules must
be initialized before other targets can run successfully.
Signed-off-by: hasheddan <georgedanielmangum@gmail.com >
2020-10-18 13:45:29 -05:00
Jeremy Soller
9529e09568
Force overwrite of libc.so.6 if it exists
2020-10-06 11:12:42 -06:00
Jeremy Soller
29e2f29231
Merge branch 'fmt' into 'master'
...
Fix formatiing issues
See merge request redox-os/relibc!316
2020-10-02 03:22:42 +00: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
Jeremy Soller
21e72cafc6
Merge branch 'tls' into 'master'
...
Fix tls tests for dynamic linker
See merge request redox-os/relibc!317
2020-10-02 03:20:50 +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
79643c293b
Fix formatiing issues
2020-09-30 11:40:38 +02:00
Mateusz Tabaka
c11aad71b8
Add support for dlopen(NULL, ...)
2020-09-30 11:04:10 +02:00
Jeremy Soller
687f4d4923
Merge branch 'dynamic' into 'master'
...
Add tests for ld_so
See merge request redox-os/relibc!314
2020-09-30 00:42:45 +00:00
Mateusz Tabaka
675101ac0e
Add tests for dynamic linker
2020-09-29 23:01:52 +02:00
Mateusz Tabaka
7829a7ade9
Add support for RUNPATH
2020-09-29 23:01:48 +02:00
Mateusz Tabaka
58cc9efbc0
Call pthread_init in libc's init_array
2020-09-29 19:20:24 +02:00
Mateusz Tabaka
42acd32ac0
Fix TCB master address
2020-09-29 19:15:21 +02:00
Mateusz Tabaka
b05d8df5f8
Restore previous load address for ld_so
...
Current value gives us 0x1234000 - 0x400000 ~ 14 MB for executable,
which is too low for certain programs.
2020-09-29 18:58:35 +02:00
Mateusz Tabaka
c000373a08
Add symlink from libc.so to libc.so.6
...
Typically it's the other way around, but we can't have shared library named libc.so.6 in target/release directory.
cargo includes 'target/release' in LD_LIBRARY_PATH for build script, so even if clean build runs fine,
every subsquent run will make build script link with relibc.
2020-09-29 00:08:11 +02:00
Jeremy Soller
2c6114be75
Merge branch 'asctime-ub-asserts' into 'master'
...
Catch UB in asctime_r()
See merge request redox-os/relibc!312
2020-09-17 23:19:08 +00:00
Peter Limkilde Svendsen
00642dd940
Test extreme tm member values
2020-09-17 23:10:13 +02:00
Peter Limkilde Svendsen
aef1be7c1b
Remove errno setting
2020-09-17 23:10:13 +02:00
Peter Limkilde Svendsen
8ef64676fe
Use stricter/simpler type handling
2020-09-17 23:10:13 +02:00
Peter Limkilde Svendsen
18a12c6c3d
Add range assertions to asctime_r()
2020-09-17 23:10:13 +02:00
Jeremy Soller
36bb60cacc
Do not unmap stack while it is being used, add a comment to fix it later
2020-09-09 18:49:44 -06:00
Jeremy Soller
2ed55a926b
Merge branch 'gmtime-refactor' into 'master'
...
Refactor gmtime_r(), fix localtime() test
See merge request redox-os/relibc!309
2020-09-08 18:45:20 +00:00
Jeremy Soller
9f25fa39ea
Merge branch 'gmtime-tests' into 'master'
...
Add more gmtime() tests
See merge request redox-os/relibc!308
2020-09-08 18:44:55 +00:00
Peter Limkilde Svendsen
ff6bc68260
Add more gmtime() tests
2020-09-08 18:44:55 +00:00
Jeremy Soller
f285128657
Merge branch 'asctime-char-cast' into 'master'
...
Avoid assuming c_char is i8 in asctime()
See merge request redox-os/relibc!307
2020-09-08 18:44:38 +00:00
Jeremy Soller
dd193bcb8c
Merge branch 'fix-asprintf-test-free' into 'master'
...
Add needed include for asprintf() test
See merge request redox-os/relibc!306
2020-09-08 18:43:57 +00:00
Jeremy Soller
4a6ef0221f
Merge branch 'weak_rust_probestack' into 'master'
...
link: Weaken __rust_probestack symbol
See merge request redox-os/relibc!310
2020-09-06 13:04:34 +00:00
Esteban Blanc
9e0e88346d
link: Weaken __rust_probestack symbol
2020-09-06 10:26:42 +02:00
Peter Limkilde Svendsen
59b0a36e81
Fix localtime() test
2020-08-27 23:16:17 +02:00
Peter Limkilde Svendsen
63711f6ca7
Formatting
2020-08-27 23:16:17 +02:00
Peter Limkilde Svendsen
845c74a82e
Refactor gmtime_r()
2020-08-27 23:16:17 +02:00
Peter Limkilde Svendsen
86138c9f8a
Align parameter naming with POSIX
2020-08-27 23:16:17 +02:00
Jeremy Soller
3a0d2177cd
Variable for weakened symbols, weaken umodti3
2020-08-25 08:21:31 -06:00
Peter Limkilde Svendsen
23b2eb2573
Avoid assuming c_char is i8
2020-08-23 21:45:08 +02:00
Jeremy Soller
5472e117a5
Weaken __fixdfti
2020-08-21 21:28:51 -06:00
Peter Limkilde Svendsen
aec4a84e90
Include stdlib.h so free() can be used
2020-08-20 20:43:28 +02:00
Jeremy Soller
5af8e3ca35
Merge branch 'bump-fmap' into 'master'
...
Use renamed fmap call
See merge request redox-os/relibc!305
2020-08-17 12:36:11 +00:00
Jeremy Soller
a78f829dca
Merge branch 'brk' into 'master'
...
Emulate brk
See merge request redox-os/relibc!304
2020-08-17 12:35:16 +00:00
jD91mZM2
e33aea434f
Use renamed fmap call
2020-08-17 13:57:39 +02:00
jD91mZM2
eaee4e6329
Emulate brk
2020-08-15 18:44:22 +02:00
Jeremy Soller
7db83596a2
Merge branch 'gcc_compile' into 'master'
...
Gcc compile
See merge request redox-os/relibc!303
2020-08-14 15:19:14 +00:00
oddcoder
ab92ff9d41
make all ld printlns happen in case of verbose = true and apply cargo fmt
...
It seams that stdout of ld.so is not that much of an issue but actually
it unfortunately is. The major problem here is that sometimes programs
generate header files in stdout (./getmy_custom_headers > header.h) and
we need to keep that cleen. and this is very very popular in gcc.
2020-08-12 18:57:37 +02:00
oddcoder
7b29f6eb27
Avoid relinking already linked libs
...
This patch avoids collecting symbols, resolving relocs if they are
already done (usually for example libc.so during a dlopen for another
libfoo.so). This patch is purely for performance boost.
2020-08-12 18:57:37 +02:00
oddcoder
61fcc018fc
Refer to libraries with soname if available and avoid loading libs twice
...
It is usually not optimal to load a library twice and for specifics,
it is **terrible** idea to load libc twice it was enough trouble
dealing with libc statically linked into ld.so. So What this patch does
it check for soname and if a library is already loaded it won't get
loaded again. Why soname ? because unfortunately some bins gets linked
againt libc.so while of their dependencies gets linked against
libc.so.6 while one is usually symbolic link for the other.
2020-08-12 18:57:37 +02:00