去年 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 编译:开源中国
转自 https://www.oschina.net/news/95643/gcc-9-looks-set-to-remove-intel-mpx-support