I understand that you probably need `no_safe_stack` attribute for
Chromium/FreeBSD integration *right now*, and rather proceed with this and not
wait until someone implements generic `no_sanitize` attribute, but... maybe we
should at least not document it?
================
Comment at: lib/CodeGen/CodeGenModule.cpp:765
@@ -763,1 +764,3 @@
+ !D->hasAttr<NoSafeStackAttr>())
+ B.addAttribute(llvm::Attribute::SafeStack);
}
----------------
Do you also need to add it to
`CodeGenModule::CreateGlobalInitOrDestructFunction`?
================
Comment at: lib/Driver/Tools.cpp:2354
@@ +2353,3 @@
+ if (SanArgs.needsSafeStackRt()) {
+ if (Args.hasArg(options::OPT_shared)) {
+ // This is a temporary limitation caused by linking issues.
----------------
This code is now dead - presence of `-shared` is checked at the top of this
function. Can we silently discard `-fsanitize=safe-stack` while linking DSO?
================
Comment at: lib/Driver/Tools.cpp:6251
@@ +6250,3 @@
+ getMachOToolChain().AddLinkRuntimeLib(Args, CmdArgs,
+ "libclang_rt.safestack_osx.a");
+
----------------
Looks like you should set `AlwaysLink` argument of `AddLinkRuntimeLib` to
`true`.
http://reviews.llvm.org/D6095
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits