linux 英特尔CET的发行版和CPU仿真器的组合

m3eecexj  于 2023-01-20  发布在  Linux
关注(0)|答案(1)|浏览(189)

我想试用英特尔间接分支跟踪(IBT),这是英特尔CET控制流完整性增强方法的一个组件。gcc当前默认生成与IBT兼容的代码(注意endbr64指令)。
但是,我不认为我有一个机器和/或Linux发行版与IBT可用的用户,而且似乎甚至Qemu 7.2.0不支持IBT。
有没有什么现成的软件平台支持它?

gr8qqesn

gr8qqesn1#

英特尔SDE(软件开发仿真器)支持许多扩展(通过JIT转换为较旧的CPU),可能还有这个. https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html。发行说明确实提到了对仿真CET的支持,以及对在CET主机上运行CET二进制文件的支持。
要真正使用它,你需要在函数入口点使用endbr64编译的库。所以你至少要有一个静态的libc.a并与之链接。或者设置一个chroot或docker容器或其他什么的,如果你在任何机器上使用的发行版没有默认启用它,也许可以使用一些轻量级的发行版。Arch GNU/Linux确实为他们的包启用了它。

相关问题