You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I execute certain instructions with invalid operands / values on stack then the process immediately exists with exitcode 1. This includes far calls / returns with invalid segment selector and unmapped software interrupts.
Expected results
These conditions produces a SIGSEGV on linux.
Actual results (with terminal output if applicable)
Actually I was investigating the possibility of implementing 32-bit support in userspace. Probably not surprisingly, codesegment 0x23 is set up for compatibility mode, so we can in fact execute 32-bit code. The biggest problem here is if code makes direct syscalls with int 80h. Then I need some way to trap that. If we got a SIGSEGV then we could just forward the syscall attempted to a syscall from 64-bit code. However this isn't possible now since the process just exits immediately without any signals involved.
Btw. note that syscalls from 32-bit land are normally done through the vDSO, which we of course get to define for ourselves if we make a custom loader for 32-bit binaries
If I execute certain instructions with invalid operands / values on stack then the process immediately exists with exitcode 1. This includes far calls / returns with invalid segment selector and unmapped software interrupts.
These conditions produces a SIGSEGV on linux.
15019
gcc (build-essential)
The text was updated successfully, but these errors were encountered: