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
c547f9677f
Use GS for i686 thread pointer
2022-08-20 21:11:18 -06:00
Jeremy Soller
c96b3114ab
More fixes for x86
2022-08-20 20:56:42 -06:00
Jeremy Soller
8b629a562b
Syntax error
2022-08-20 20:52:19 -06:00
Jeremy Soller
a1d0b8fc35
More x86 fixes
2022-08-20 20:51:01 -06:00
Jeremy Soller
c1b20cdeab
Add x86 _start
2022-08-20 20:43:41 -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
4b90afeb2a
Merge branch 'hstrerror' into 'master'
...
Implement hstrerror
See merge request redox-os/relibc!341
2022-08-12 12:18:08 +00:00
Jeremy Soller
3eb52eabf5
Fix missing NUL for setenv
2022-08-04 08:55:01 -06:00
Jeremy Soller
2f271268af
Add MSG_DONTWAIT
2022-08-01 10:09:31 -06: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
Nagy Tibor
5b2a12ca6d
strtof, strtod: Fix parsing floats with exponents
2022-07-28 01:11:55 +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
ed196516a2
Only inherit environ from ldso if previously NULL.
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
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
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