-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Open
Labels
Description
In Gentoo 23.0 (upcoming) and hardened profile -fcf-protection=full
is added automatically via /etc/clang/x86_64-pc-linux-gnu-clang++.cfg
(as well as other flags). However this flag does not work well with heterogeneous hip code:
cd /tmp && wget https://raw.githubusercontent.com/ROCm-Developer-Tools/HIP-CPU/master/examples/vadd_hip/vadd_hip.cpp
# -fcf-protection=full is added manually for demonstration
/usr/lib/llvm/18/bin/clang++ --offload-arch=native -x hip vadd_hip.cpp -o vadd_hip \
-fno-stack-protector --hip-link -fcf-protection=full -nogpulib
error: option 'cf-protection=return' cannot be specified on this target
Although it is possible to use -fcf-protection=full -Xarch_device -fcf-protection=none
to override this, it is irritating, as it can not be added to all files, as it produces warning: argument unused during compilation: '-Xarch_device -fcf-protection=none'
for non-hip files.
In #70799 you added code to "not emit the stack protector metadata on unsupported architectures". Can you do the same for -fcf-protection=...
, to apply CET only for host code? Thanks!
g00g1 and GZGavinZhao