Author: bruno Date: Tue Sep 5 16:50:58 2017 New Revision: 312595 URL: http://llvm.org/viewvc/llvm-project?rev=312595&view=rev Log: [Darwin] Enable -fstack-protector (back) by default with -ffreestanding
Go back to behavior prior to r289005. rdar://problem/32987198 Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/test/Driver/stack-protector.c Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=312595&r1=312594&r2=312595&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Tue Sep 5 16:50:58 2017 @@ -2302,11 +2302,6 @@ static void RenderSSPOptions(const ToolC else if (A->getOption().matches(options::OPT_fstack_protector_all)) StackProtectorLevel = LangOptions::SSPReq; } else { - // Only use a default stack protector on Darwin in case -ffreestanding is - // not specified. - if (EffectiveTriple.isOSDarwin() && !IsHosted) - StackProtectorLevel = 0; - else StackProtectorLevel = DefaultStackProtectorLevel; } Modified: cfe/trunk/test/Driver/stack-protector.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/stack-protector.c?rev=312595&r1=312594&r2=312595&view=diff ============================================================================== --- cfe/trunk/test/Driver/stack-protector.c (original) +++ cfe/trunk/test/Driver/stack-protector.c Tue Sep 5 16:50:58 2017 @@ -36,27 +36,20 @@ // Test default stack protector values for Darwin platforms // RUN: %clang -target armv7k-apple-watchos2.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_WATCHOS +// RUN: %clang -ffreestanding -target armv7k-apple-watchos2.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_WATCHOS // SSP_WATCHOS: "-stack-protector" "1" // RUN: %clang -target arm64-apple-ios8.0.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_IOS +// RUN: %clang -ffreestanding -target arm64-apple-ios8.0.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_IOS // SSP_IOS: "-stack-protector" "1" // RUN: %clang -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX +// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX // SSP_MACOSX: "-stack-protector" "1" // RUN: %clang -target x86_64-apple-darwin10 -mmacosx-version-min=10.5 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX_10_5 +// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.5 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX_10_5 // SSP_MACOSX_10_5: "-stack-protector" "1" // RUN: %clang -target x86_64-apple-darwin10 -mmacosx-version-min=10.5 -mkernel -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX_KERNEL // SSP_MACOSX_KERNEL-NOT: "-stack-protector" // RUN: %clang -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX_10_6_KERNEL +// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_MACOSX_10_6_KERNEL // SSP_MACOSX_10_6_KERNEL: "-stack-protector" "1" -// Test default stack protector values for Darwin platforms with -ffreestanding - -// RUN: %clang -ffreestanding -target armv7k-apple-watchos2.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_FREE_WATCHOS -// SSP_FREE_WATCHOS-NOT: "-stack-protector" -// RUN: %clang -ffreestanding -target arm64-apple-ios8.0.0 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_FREE_IOS -// SSP_FREE_IOS-NOT: "-stack-protector" -// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_FREE_MACOSX -// SSP_FREE_MACOSX-NOT: "-stack-protector" -// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.5 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_FREE_MACOSX_10_5 -// SSP_FREE_MACOSX_10_5-NOT: "-stack-protector" -// RUN: %clang -ffreestanding -target x86_64-apple-darwin10 -mmacosx-version-min=10.6 -### %s 2>&1 | FileCheck %s -check-prefix=SSP_FREE_MACOSX_10_6_KERNEL -// SSP_FREE_MACOSX_10_6_KERNEL-NOT: "-stack-protector" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits