On Mon, Oct 6, 2014 at 4:48 PM, David Daney <ddaney@xxxxxxxxxxxxxxxxxx> wrote: > On 10/06/2014 04:38 PM, Andy Lutomirski wrote: >> >> On 10/06/2014 02:58 PM, Rich Felker wrote: >>> >>> On Mon, Oct 06, 2014 at 02:45:29PM -0700, David Daney wrote: > > [...] >>> >>> This is a huge ill-designed mess. >> >> >> Amen. >> >> Can the kernel not just emulate the instructions directly? > > > In theory it could, but since there can be implementation defined > instructions, there is no way to achieve full instruction set coverage for > all possible machines. Can modern user code just avoid constructs that require this kind of trampoline hack? If so, can this be solved the same way that x86 added no-exec stacks? (I.e. mark all the binaries as supporting non-executable stacks and letting them crash if they screw it up.) Knowing very little about MIPS, it sounds like this is the kernel compensating for a dumb assembler. --Andy