r207602 - Drop non-cfi assembly support from clang.
Nico Weber
thakis at chromium.org
Tue Apr 29 20:04:25 PDT 2014
Maybe worth mentioning in the release notes?
On Tue, Apr 29, 2014 at 7:22 PM, Rafael Espindola
<rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Tue Apr 29 21:22:09 2014
> New Revision: 207602
>
> URL: http://llvm.org/viewvc/llvm-project?rev=207602&view=rev
> Log:
> Drop non-cfi assembly support from clang.
>
> After this patch clang will ignore -fdwarf2-cfi-asm and -ffno-dwarf2-cfi-asm and
> always print assembly that uses cfi directives.
>
> In llvm, MC itself supports cfi since the end of 2010 (support started
> in r119972, is reported in the 2.9 release notes).
>
> In binutils the support has been around for much longer. It looks like
> support started to be added in May 2003. It is available in 2.15
> (31-Aug-2011, 2.14 is from 12-Jun-2003).
>
> Removed:
> cfe/trunk/test/Driver/cfi.c
> cfe/trunk/test/Driver/dwarf2-cfi-asm.c
> Modified:
> cfe/trunk/include/clang/Driver/Options.td
> cfe/trunk/include/clang/Frontend/CodeGenOptions.def
> cfe/trunk/lib/CodeGen/BackendUtil.cpp
> cfe/trunk/lib/Driver/Tools.cpp
> cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>
> Modified: cfe/trunk/include/clang/Driver/Options.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=207602&r1=207601&r2=207602&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Driver/Options.td (original)
> +++ cfe/trunk/include/clang/Driver/Options.td Tue Apr 29 21:22:09 2014
> @@ -441,8 +441,8 @@ def fdiagnostics_show_template_tree : Fl
> HelpText<"Print a template comparison tree for differing templates">;
> def fdollars_in_identifiers : Flag<["-"], "fdollars-in-identifiers">, Group<f_Group>,
> HelpText<"Allow '$' in identifiers">, Flags<[CC1Option]>;
> -def fdwarf2_cfi_asm : Flag<["-"], "fdwarf2-cfi-asm">, Group<f_Group>;
> -def fno_dwarf2_cfi_asm : Flag<["-"], "fno-dwarf2-cfi-asm">, Group<f_Group>, Flags<[CC1Option]>;
> +def fdwarf2_cfi_asm : Flag<["-"], "fdwarf2-cfi-asm">, Group<clang_ignored_f_Group>;
> +def fno_dwarf2_cfi_asm : Flag<["-"], "fno-dwarf2-cfi-asm">, Group<clang_ignored_f_Group>;
> def fdwarf_directory_asm : Flag<["-"], "fdwarf-directory-asm">, Group<f_Group>;
> def fno_dwarf_directory_asm : Flag<["-"], "fno-dwarf-directory-asm">, Group<f_Group>, Flags<[CC1Option]>;
> def felide_constructors : Flag<["-"], "felide-constructors">, Group<f_Group>;
>
> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=207602&r1=207601&r2=207602&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue Apr 29 21:22:09 2014
> @@ -68,7 +68,6 @@ CODEGENOPT(LessPreciseFPMAD , 1, 0) ///
> ///< be generated.
> CODEGENOPT(MergeAllConstants , 1, 1) ///< Merge identical constants.
> CODEGENOPT(NoCommon , 1, 0) ///< Set when -fno-common or C++ is enabled.
> -CODEGENOPT(NoDwarf2CFIAsm , 1, 0) ///< Set when -fno-dwarf2-cfi-asm is enabled.
> CODEGENOPT(NoDwarfDirectoryAsm , 1, 0) ///< Set when -fno-dwarf-directory-asm is
> ///< enabled.
> CODEGENOPT(NoExecStack , 1, 0) ///< Set when -Wa,--noexecstack is enabled.
>
> Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=207602&r1=207601&r2=207602&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)
> +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Tue Apr 29 21:22:09 2014
> @@ -503,8 +503,6 @@ TargetMachine *EmitAssemblyHelper::Creat
> TM->setMCRelaxAll(true);
> if (CodeGenOpts.SaveTempLabels)
> TM->setMCSaveTempLabels(true);
> - if (CodeGenOpts.NoDwarf2CFIAsm)
> - TM->setMCUseCFI(false);
> if (!CodeGenOpts.NoDwarfDirectoryAsm)
> TM->setMCUseDwarfDirectory(true);
> if (CodeGenOpts.NoExecStack)
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=207602&r1=207601&r2=207602&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Apr 29 21:22:09 2014
> @@ -1733,19 +1733,6 @@ static bool ShouldDisableAutolink(const
> Default);
> }
>
> -static bool ShouldDisableCFI(const ArgList &Args,
> - const ToolChain &TC) {
> - bool Default = true;
> - if (TC.getTriple().isOSDarwin()) {
> - // The native darwin assembler doesn't support cfi directives, so
> - // we disable them if we think the .s file will be passed to it.
> - Default = TC.useIntegratedAs();
> - }
> - return !Args.hasFlag(options::OPT_fdwarf2_cfi_asm,
> - options::OPT_fno_dwarf2_cfi_asm,
> - Default);
> -}
> -
> static bool ShouldDisableDwarfDirectory(const ArgList &Args,
> const ToolChain &TC) {
> bool UseDwarfDirectory = Args.hasFlag(options::OPT_fdwarf_directory_asm,
> @@ -3138,9 +3125,6 @@ void Clang::ConstructJob(Compilation &C,
> CmdArgs.push_back("-fno-gnu-keywords");
> }
>
> - if (ShouldDisableCFI(Args, getToolChain()))
> - CmdArgs.push_back("-fno-dwarf2-cfi-asm");
> -
> if (ShouldDisableDwarfDirectory(Args, getToolChain()))
> CmdArgs.push_back("-fno-dwarf-directory-asm");
>
>
> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=207602&r1=207601&r2=207602&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Tue Apr 29 21:22:09 2014
> @@ -399,7 +399,6 @@ static bool ParseCodeGenArgs(CodeGenOpti
> Opts.RelaxAll = Args.hasArg(OPT_mrelax_all);
> Opts.OmitLeafFramePointer = Args.hasArg(OPT_momit_leaf_frame_pointer);
> Opts.SaveTempLabels = Args.hasArg(OPT_msave_temp_labels);
> - Opts.NoDwarf2CFIAsm = Args.hasArg(OPT_fno_dwarf2_cfi_asm);
> Opts.NoDwarfDirectoryAsm = Args.hasArg(OPT_fno_dwarf_directory_asm);
> Opts.SoftFloat = Args.hasArg(OPT_msoft_float);
> Opts.StrictEnums = Args.hasArg(OPT_fstrict_enums);
>
> Removed: cfe/trunk/test/Driver/cfi.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cfi.c?rev=207601&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/cfi.c (original)
> +++ cfe/trunk/test/Driver/cfi.c (removed)
> @@ -1,9 +0,0 @@
> -// RUN: %clang -target i386-apple-darwin10 \
> -// RUN: -no-integrated-as -### %s 2>&1 | \
> -// RUN: FileCheck --check-prefix=CHECK-DARWIN %s
> -
> -// RUN: %clang -target i386-pc-linux-gnu -static -### %s 2>&1 | \
> -// RUN: FileCheck --check-prefix=CHECK-LINUX %s
> -
> -// CHECK-DARWIN: -fno-dwarf2-cfi-asm
> -// CHECK-LINUX-NOT: -fno-dwarf2-cfi-asm
>
> Removed: cfe/trunk/test/Driver/dwarf2-cfi-asm.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/dwarf2-cfi-asm.c?rev=207601&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/dwarf2-cfi-asm.c (original)
> +++ cfe/trunk/test/Driver/dwarf2-cfi-asm.c (removed)
> @@ -1,35 +0,0 @@
> -// RUN: %clang -target x86_64-apple-darwin -### -S -integrated-as %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-MC-DEFAULT %s
> -// RUN: %clang -target x86_64-apple-darwin -### -S -integrated-as -fdwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-MC-CFI %s
> -// RUN: %clang -target x86_64-apple-darwin -### -S -integrated-as -fno-dwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-MC-NOCFI %s
> -
> -// RUN: %clang -target x86_64-apple-darwin -### -S -no-integrated-as %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-AS-DEFAULT %s
> -// RUN: %clang -target x86_64-apple-darwin -### -S -no-integrated-as -fdwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-AS-CFI %s
> -// RUN: %clang -target x86_64-apple-darwin -### -S -no-integrated-as -fno-dwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-DARWIN-AS-NOCFI %s
> -
> -
> -// RUN: %clang -target x86_64-pc-linux -### -S -integrated-as %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-MC-DEFAULT %s
> -// RUN: %clang -target x86_64-pc-linux -### -S -integrated-as -fdwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-MC-CFI %s
> -// RUN: %clang -target x86_64-pc-linux -### -S -integrated-as -fno-dwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-MC-NOCFI %s
> -
> -// RUN: %clang -target x86_64-pc-linux -### -S -no-integrated-as %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-AS-DEFAULT %s
> -// RUN: %clang -target x86_64-pc-linux -### -S -no-integrated-as -fdwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-AS-CFI %s
> -// RUN: %clang -target x86_64-pc-linux -### -S -no-integrated-as -fno-dwarf2-cfi-asm %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-LINUX-AS-NOCFI %s
> -
> -
> -
> -// CHECK-DARWIN-MC-DEFAULT-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-DARWIN-MC-CFI-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-DARWIN-MC-NOCFI: -fno-dwarf2-cfi-asm
> -
> -// CHECK-DARWIN-AS-DEFAULT: -fno-dwarf2-cfi-asm
> -// CHECK-DARWIN-AS-CFI-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-DARWIN-AS-NOCFI: -fno-dwarf2-cfi-asm
> -
> -
> -// CHECK-LINUX-MC-DEFAULT-NOT: -fno-dwarf2-cfi-asmx
> -// CHECK-LINUX-MC-CFI-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-LINUX-MC-NOCFI: -fno-dwarf2-cfi-asm
> -
> -// CHECK-LINUX-AS-DEFAULT-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-LINUX-AS-CFI-NOT: -fno-dwarf2-cfi-asm
> -// CHECK-LINUX-AS-NOCFI: -fno-dwarf2-cfi-asm
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list