================
@@ -1796,16 +1796,23 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC,
const ArgList &Args,
CmdArgs.push_back("--export-dynamic-symbol=__cfi_check");
if (SanArgs.hasMemTag()) {
- if (!TC.getTriple().isAndroid()) {
- TC.getDriver().Diag(diag::err_drv_unsupported_opt_for_target)
- << "-fsanitize=memtag*" << TC.getTriple().str();
- }
+ CmdArgs.push_back("-z");
CmdArgs.push_back(
- Args.MakeArgString("--android-memtag-mode=" +
SanArgs.getMemtagMode()));
- if (SanArgs.hasMemtagHeap())
- CmdArgs.push_back("--android-memtag-heap");
- if (SanArgs.hasMemtagStack())
- CmdArgs.push_back("--android-memtag-stack");
+ Args.MakeArgString("memtag-mode=" + SanArgs.getMemtagMode()));
+
+ if (SanArgs.hasMemtagHeap()) {
+ CmdArgs.push_back("-z");
+ CmdArgs.push_back("memtag-heap");
+ }
+
+ if (SanArgs.hasMemtagStack()) {
+ CmdArgs.push_back("-z");
+ CmdArgs.push_back("memtag-stack");
+ }
+
+ if (TC.getTriple().isAndroid()) {
----------------
EliaGeretto wrote:
I am not sure this should be part of this PR. Currently, we are preserving the
behavior for all API versions, despite the changes in the flags. This is
obvious from the code changes. Restricting the API levels for which the note is
emitted requires testing I cannot easily do myself. It may be a better idea to
do this separately once this PR is merged.
https://github.com/llvm/llvm-project/pull/187055
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits