В отличие от (большинства) RISC-арок, инструкции x86 имеют переменную длину. Начало / конец инструкции не обязательно выравнивать. Если компилятор этого не делает, одна инструкция может просто лежать на краю страницы.
Предположим, что если первый байт инструкции находится в последнем байте страницы, который помечен как исполняемый. Остальные байты инструкции находятся на второй странице,который отмечен как неисполняемый.
В таком случае, что произойдет в ЦП, когда выполнение достигнет этой инструкции?
Нужно ли компилятору заботиться о таких случаях?