News for hackers. Stuff that matters.
Re:About the Rosetta Translation Environment by monocasa on Tuesday June 23, 2020 @08:59PM (#23622641)
Right, but the x86 code _thinks_ it does, and those semantics have to be maintained.

What that practically means is that x86 executable pages get mapped as RO by default as seen by the ARM side even if they would normally be RWX. Modifications trap, the handler mprotects the pages as writeable, flush the translation cache for that region, then returns from the trap. Then on an x86 jump to that region, the JIT cache sees no traces for that region, marks the page as RO again so that modifications will trap, and starts recompiling (or maybe just interpreting; they may be using a tiered approach in the JIT).

Re:About the Rosetta Translation Environment by anyfoo on Tuesday June 23, 2020 @11:27PM (#23623695)
Yeah, I specifically said they don't get marked executable in the page tables. From the x86 code's perspective, they of course look executable.