去年 GCC 就已显示出弃用?Intel Memory Protection Extensions(MPX) 的迹象,而目前看来,GCC 9 或许将会完全放弃对 Intel MPX 的支持。
Intel Memory Protection Extensions 是自 Skylake 处理器推出以来的一项安全功能,用于在运行时检查指针引用以避免缓冲区溢出。Intel MPX?能够检查所有指针的读取和写入,以确保它们在已声明的内存范围内。这个技术可以检测缓存区的溢出,并且停止正在运行的程序以避免危及系统。它允许 C/C++ 代码使用第六代 Intel 酷睿处理器(启用 MPX 的平台)中介绍的最新的 MPX 指令集和寄存器。
对 Intel MPX 的支持近年来在 Linux 中得到了广泛应用,但 GCC 对其支持有所下降。尽管英特尔的开发人员不时地提供补丁,但来自红帽和 SUSE 等开发者则更希望放弃支持的代码以减轻维护负担。
SUSE 的?Martin Li?ka 发布了一个补丁用于移除对 MPX 的支持,同时保留相关的 MPX 选项,但不做任何操作。
GCC 8.1 版本将在下周释出,而 GCC 9.0 的新功能正处于开发阶段,目前处于 master 分支,除非有人推动来恢复这个似乎很少使用的安全功能,否则预计明年推出的 GCC 9.0 是移除对 MPX 支持的首个版本。
原文:https://www.phoronix.com?编译:开源中国
领取专属 10元无门槛券
私享最新 技术干货