4lDO2
4e5ccbffd1
Allow constructors to access env vars.
2022-07-26 21:34:48 +02: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
db16393fd7
Manually init FPU context in pte_clone.
2022-07-26 21:34:48 +02:00
4lDO2
24ecd6ee16
Fix waitpid deadlock.
2022-07-26 21:34:48 +02:00
4lDO2
8ac0626be7
Handle sigactions properly in execve and fork.
2022-07-26 21:34:48 +02:00
4lDO2
b930cc98d0
Correctly preserve and set MXCSR and FCW.
2022-07-26 21:34:47 +02:00
4lDO2
3701ea3be7
Conflict-proof #[global_allocator] symbols too.
...
The #[global_allocator] used by relibc is only relibc's business.
Symbols should therefore not leak if another applications for example
wants to override the system allocator (and for bootstrap, which links
to relibc but uses its own #[global_allocator] based on libc functions).
2022-07-26 21:34:47 +02:00
4lDO2
05446070ec
Use same rust-toolchain version as elsewhere.
2022-07-26 21:34:47 +02:00
4lDO2
bac2509ccd
Fix leaks for setuid/setgid too.
2022-07-26 21:34:47 +02:00
4lDO2
1476cdeb8f
Split fexec_impl into crate, used by escalated.
2022-07-26 21:34:46 +02:00
4lDO2
df8e2deddc
Fix file descriptor leak in fork().
2022-07-26 21:34:12 +02:00
4lDO2
777a82b50f
Refactor out clone, fix some fd leaks.
2022-07-26 21:34:12 +02:00
4lDO2
bb45466a4e
Implement clone in userspace.
2022-07-26 21:34:11 +02:00
4lDO2
a7c817d81a
WIP: Support setuid/setgid
2022-07-26 21:33:01 +02:00
4lDO2
37cc4e5383
WIP: Add setuid/setgid support.
2022-07-26 21:33:01 +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
4lDO2
2186cd1fbd
Implement fexec in userspace.
2022-07-26 21:32:56 +02:00
Jeremy Soller
0bd81aa3d4
Update llvm_asm to asm for aarch64
2022-07-26 11:46:50 -06: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
Jeremy Soller
7f3f2fa105
Add some messages when unimplemented PTE functions are called
2022-04-14 07:52:39 -06:00
Jeremy Soller
8576b99759
Add timeout to futex_wait calls
2022-04-04 20:23:29 -06:00
4lDO2
6d394ba4f4
Merge branch 'update-dependencies' into 'master'
...
Update dependencies for rust 2022-03-18.
See merge request redox-os/relibc!342
2022-03-27 09:21:22 +00:00
4lDO2
fb411c0b19
Use redox_syscall 0.2.12 from crates.io, not git
2022-03-24 17:12:05 +01:00
4lDO2
f14c95db6a
Update syscall.
2022-03-24 17:12:05 +01:00
4lDO2
ebd597f748
Update dependencies for rust 2022-03-18.
2022-03-24 17:12:02 +01:00
Jeremy Soller
ec0047c864
Fix redox readlink
2022-03-23 13:47:58 -06:00
Jeremy Soller
f63d9cefad
Add mlock and friends
2022-03-17 14:03:45 -06:00
Jeremy Soller
8a2ff1ec4a
Only try to set FS on x86_64
2022-02-13 15:05:07 -07:00
Jeremy Soller
824184a66c
Make sure strong symbols are preferred by ld_so
2021-12-15 12:05:21 -07:00
Jeremy Soller
ecd934951d
R_X86_64_TPOFF64 does not require symbol, allow it to be unset
2021-12-14 14:53:16 -07:00
Jeremy Soller
e90fa3e32f
Do not try to open traceme on special PIDs
2021-12-01 09:52:31 -07:00
Jeremy Soller
c51aec1af6
Workaround waitpid deadlock by making ptrace state thread local
2021-11-30 21:19:48 -07:00
Jeremy Soller
7a8015eb68
Use r10 instead of rcx for linux pte_clone
2021-11-30 11:34:53 -07:00
Jeremy Soller
66615ef449
Use CLONE_THREAD for linux pte_clone
2021-11-30 11:27:02 -07: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
a50d80ee28
Use anonymous fmap
2021-09-22 20:47:18 -06: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
Jeremy Soller
dbaeb8f067
Show ld.so expect message
2021-08-10 18:26:09 -06:00
4lDO2
da9beb8cb7
Merge branch 'manual_redox_tls' into 'master'
...
Initialize TLS manually on Redox as Linux does.
See merge request redox-os/relibc!340
2021-08-06 13:24:48 +00:00
4lDO2
ac860b6c94
Use redox_syscall 0.2.10.
2021-08-06 15:23:24 +02:00
4lDO2
a388b1ae4d
Initialize TLS manually on Redox too.
2021-08-05 11:49:40 +02:00
Jeremy Soller
b3d71ba8ba
Make relibc_panic a weakly linked stub for crt and ld_so objects
2021-08-04 07:20:48 -06:00
Jeremy Soller
7f7d73de3c
Link crt1.o to crt0.o
2021-08-03 16:11:22 -06:00
Jeremy Soller
c99658a8da
Update rust-toolchain and dependencies
2021-08-03 12:38:28 -06:00