r233393 - Don't use unique section names by default if using the integrated as.

Rafael Espindola rafael.espindola at gmail.com
Fri Mar 27 10:55:24 PDT 2015


Author: rafael
Date: Fri Mar 27 12:55:23 2015
New Revision: 233393

URL: http://llvm.org/viewvc/llvm-project?rev=233393&view=rev
Log:
Don't use unique section names by default if using the integrated as.

This saves some IO and ccache space by not creating long section names. It
should work with every ELF linker.

Modified:
    cfe/trunk/lib/Driver/Tools.cpp
    cfe/trunk/test/Driver/function-sections.c

Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=233393&r1=233392&r2=233393&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Fri Mar 27 12:55:23 2015
@@ -3087,8 +3087,10 @@ void Clang::ConstructJob(Compilation &C,
       Args.hasArg(options::OPT_dA))
     CmdArgs.push_back("-masm-verbose");
 
-  if (!Args.hasFlag(options::OPT_fintegrated_as, options::OPT_fno_integrated_as,
-                    IsIntegratedAssemblerDefault))
+  bool UsingIntegratedAssembler =
+      Args.hasFlag(options::OPT_fintegrated_as, options::OPT_fno_integrated_as,
+                   IsIntegratedAssemblerDefault);
+  if (!UsingIntegratedAssembler)
     CmdArgs.push_back("-no-integrated-as");
 
   if (Args.hasArg(options::OPT_fdebug_pass_structure)) {
@@ -3332,7 +3334,8 @@ void Clang::ConstructJob(Compilation &C,
   }
 
   if (!Args.hasFlag(options::OPT_funique_section_names,
-                    options::OPT_fno_unique_section_names, true))
+                    options::OPT_fno_unique_section_names,
+                    !UsingIntegratedAssembler))
     CmdArgs.push_back("-fno-unique-section-names");
 
   Args.AddAllArgs(CmdArgs, options::OPT_finstrument_functions);

Modified: cfe/trunk/test/Driver/function-sections.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/function-sections.c?rev=233393&r1=233392&r2=233393&view=diff
==============================================================================
--- cfe/trunk/test/Driver/function-sections.c (original)
+++ cfe/trunk/test/Driver/function-sections.c Fri Mar 27 12:55:23 2015
@@ -72,3 +72,13 @@
 // RUN:     -target i386-unknown-linux \
 // RUN:     -fno-unique-section-names \
 // RUN:   | FileCheck --check-prefix=CHECK-NOUS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1        \
+// RUN:     -target i386-unknown-linux \
+// RUN:     -fno-integrated-as \
+// RUN:   | FileCheck --check-prefix=CHECK-US %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1        \
+// RUN:     -target i386-unknown-linux \
+// RUN:     -fintegrated-as \
+// RUN:   | FileCheck --check-prefix=CHECK-NOUS %s





More information about the cfe-commits mailing list