Jeremy Soller
adbdf1d73d
Fixes for redox-exec on aarch64
2022-08-24 15:45:36 -06:00
Jeremy Soller
2cd461fa21
Use relibc chdir for fchdir
2022-08-24 08:50:50 -06:00
Jeremy Soller
915359d11d
Disable use of EnvRegisters on aarch64
2022-08-24 07:49:29 -06:00
4lDO2
1987ae7c77
Check for ENOENT/ENOTDIR in chdir().
2022-08-23 10:49:29 +02:00
Jeremy Soller
eac4a349d8
Set default FPU control word to 0x37F
2022-08-22 08:10:42 -06:00
Jeremy Soller
1243330146
Implement pte_clone_ret for x86
2022-08-20 22:20:42 -06:00
Jeremy Soller
619245024a
Use 32-bit program headers too
2022-08-20 20:10:15 -06:00
Jeremy Soller
791460d5d1
Use 32-bit elf headers on 32-bit redox
2022-08-20 19:48:47 -06:00
Jeremy Soller
5526528364
Partial aarch64 implementation of relibc internal functions
2022-08-20 14:19:29 -06:00
Jeremy Soller
60a4b59194
Fix push/pop of preserved registers on x86
2022-08-18 08:09:11 -06:00
Jeremy Soller
32770ed976
Improvements to x86 assembly in redox-exec
2022-08-18 08:01:14 -06:00
Jeremy Soller
ebb0507f59
Impelement relibc_internal_fork_wrapper for x86 32-bit
2022-08-17 14:21:00 -06:00
4lDO2
c26ce37620
Also fail if cwd could not be written to escalated.
2022-08-13 19:16:48 +02:00
4lDO2
5e74d173ab
Fix ld.so access function on Redox.
2022-08-13 19:16:48 +02:00
4lDO2
36775eeb1b
Implement EXDEV symlink resolution.
2022-08-13 19:16:48 +02:00
4lDO2
54b3f873f8
Move cwd from kernel to relibc.
2022-08-13 19:16:45 +02:00
Jeremy Soller
9e2cbcc407
redox-exec: Add aarch64 stubs
2022-07-29 10:06:54 -06:00
Jeremy Soller
13e58007bc
Add stubs for new asm functions on x86
2022-07-28 08:16:28 -06:00
Jeremy Soller
05e3a5ac8b
redox-exec: Move x86_64 specific things to arch module
2022-07-28 08:08:01 -06:00
4lDO2
16d0f96d64
Move fork implementation to redox-exec
2022-07-28 14:19:31 +02:00
Jeremy Soller
dc865148fc
Get Linux to compile again
2022-07-27 10:10:41 -06:00
4lDO2
f438a4259a
Use redox_syscall 0.3 from crates.io
2022-07-27 17:38:12 +02:00
4lDO2
13cbac293b
Fix write to mmap-min-addr
2022-07-26 21:35:25 +02:00
4lDO2
985b2a59a9
Use better interfaces in exec/clone
2022-07-26 21:35:24 +02:00
4lDO2
d32dd52d3b
Use 2021 edition in redox-exec
2022-07-26 21:34:48 +02:00
4lDO2
b58ad5bf13
In clone, use better asm function names and align.
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
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
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
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
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