Make fixes and improvements

- Fix handling of precision in hex float formatting
- Enhance the cocmd interpreter for system() and popen()
- Manually ran the Lua unit tests, which are now passing
- Let stdio i/o operations happen when file is in error state
- We're now saving and restoring xmm in ftrace out of paranoia
This commit is contained in:
Justine Tunney 2023-07-09 05:11:25 -07:00
parent 95fbdb4f76
commit 41396ff48a
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
43 changed files with 495 additions and 261 deletions

View file

@ -36,20 +36,18 @@ __nt2sysv:
mov %rsp,%rbp
// TODO(jart): We should probably find some way to use our own
// stack when Windows delivers signals ;_;
sub $0x100,%rsp
sub $256,%rsp
push %rbx
push %rdi
push %rsi
pushf # TODO(jart): Do we need it?
lea -0x80(%rbp),%rdi
call _savexmm
pushf // TODO(jart): Do we need it?
call __xmm_save
mov %rcx,%rdi
mov %rdx,%rsi
mov %r8,%rdx
mov %r9,%rcx
call *%rax
lea -0x80(%rbp),%rdi
call _loadxmm
call __xmm_load
popf
pop %rsi
pop %rdi