Commit Graph

1661 Commits

Author SHA1 Message Date
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
Jeremy Soller e051b18490 Merge branch 'wctype' into 'master'
wctype

See merge request redox-os/relibc!339
2021-07-19 16:14:30 +00:00
Jeremy Soller fe287cd200 Update rust-toolchain 2021-07-19 10:12:22 -06:00
Jeremy Soller 753c190995 Implement wctype.h 2021-07-19 10:04:29 -06:00
Jeremy Soller 3f12d8917c Add casecmp source information 2021-07-19 09:37:18 -06:00