45 lines
2.1 KiB
Diff
45 lines
2.1 KiB
Diff
commit fed96f31bb5b68f77dd617ee8e698dd8171ee71b
|
|
Author: Tom Stellard <tstellar@redhat.com>
|
|
Date: Tue Mar 22 23:17:39 2022 -0700
|
|
|
|
Re-commit: Driver: Don't warn on -mbranch-protection when linking
|
|
|
|
This is a re-commit of 98fd3b359866f474ab1c097c22fb5c3be356b996. The
|
|
newly added test was failing on the bots, and I've fixed the test now so
|
|
that it doesn't actually invoke the linker.
|
|
|
|
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
|
index d37d3a31fe07..6ed87f9a464d 100644
|
|
--- a/clang/include/clang/Driver/Options.td
|
|
+++ b/clang/include/clang/Driver/Options.td
|
|
@@ -3444,6 +3444,7 @@ def msign_return_address_EQ : Joined<["-"], "msign-return-address=">,
|
|
Flags<[CC1Option]>, Group<m_Group>, Values<"none,all,non-leaf">,
|
|
HelpText<"Select return address signing scope">;
|
|
def mbranch_protection_EQ : Joined<["-"], "mbranch-protection=">,
|
|
+ Group<m_Group>,
|
|
HelpText<"Enforce targets of indirect branches and function returns">;
|
|
|
|
def mharden_sls_EQ : Joined<["-"], "mharden-sls=">,
|
|
diff --git a/clang/test/Driver/aarch64-security-options.c b/clang/test/Driver/aarch64-security-options.c
|
|
index 6ea4b8ae5838..4bd73e06d255 100644
|
|
--- a/clang/test/Driver/aarch64-security-options.c
|
|
+++ b/clang/test/Driver/aarch64-security-options.c
|
|
@@ -27,6 +27,9 @@
|
|
// RUN: %clang -target aarch64--none-eabi -c %s -### -mbranch-protection=bar 2>&1 | \
|
|
// RUN: FileCheck %s --check-prefix=BAD-BP-PROTECTION --check-prefix=WARN
|
|
|
|
+// RUN: %clang -target aarch64--none-eabi -### -o /dev/null -mbranch-protection=standard /dev/null 2>&1 | \
|
|
+// RUN: FileCheck --allow-empty %s --check-prefix=LINKER-DRIVER
|
|
+
|
|
// WARN-NOT: warning: ignoring '-mbranch-protection=' option because the 'aarch64' architecture does not support it [-Wbranch-protection]
|
|
|
|
// RA-OFF: "-msign-return-address=none"
|
|
@@ -46,3 +49,7 @@
|
|
|
|
// BAD-B-KEY-COMBINATION: invalid branch protection option 'b-key' in '-mbranch-protection={{.*}}'
|
|
// BAD-LEAF-COMBINATION: invalid branch protection option 'leaf' in '-mbranch-protection={{.*}}'
|
|
+
|
|
+// Check that the linker driver doesn't warn about -mbranch-protection=standard
|
|
+// as an unused option.
|
|
+// LINKER-DRIVER-NOT: warning:
|