Gentoo Hardened 使用 -fstack-protector-strong 吗?

Gentoo Hardened 使用 -fstack-protector-strong 吗?

我正在尝试构建一个相当坚固的 Gentoo 安装,并且我想至少确保所有内容都是使用-fstack-protector-strongif not构建的-fstack-protector-all

我在个人hardened/linux/amd64/selinux资料上,这是我的 make.conf:

CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE="bindist mmx sse sse2 systemd -consolekit"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
ACCEPT_KEYWORDS="~amd64"

Hardened 是自动设置的-fstack-protector-strong,还是我需要将其传递给CFLAGS

答案1

是的,Gentoo Hardenedfstack-protector-all默认使用,所以你不需要CFLAGS自己去启用堆栈粉碎保护。CFLAGS强化配置文件的默认设置包括:

CFLAGS="-fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2" LDFLAGS="-Wl,-z,now -Wl,-z,relro"

本节从 Gentoo Hardened FAQ 获取更多信息。

相关内容