Làm thế nào là mã máy được tạo thời gian chạy (chẳng hạn như đầu ra của JIT), thực sự được CPU thực thi nếu CPU / HĐH có bit Tắt thực thi?
Theo như tôi biết, nhiều bộ vi xử lý hiện đại và hệ điều hành bao gồm hỗ trợ cho một NX cắn, (bao gồm cả Intel và ARM), trong đó ngăn chặn máy mã được bảo quản ở bất kỳ địa chỉ khác so với phần mã của một nhị phân tổng hợp từ được thực thi. Rõ ràng, đây là một lợi thế bảo mật tốt, bởi vì nó ngăn chặn các cuộc tấn công tiêm mã shell.
Nhưng làm thế nào để các công cụ JIT, như LLVM, tự động tạo mã máy, giải quyết vấn đề này?