summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-04-04 18:21:14 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-04-04 18:21:14 +0000
commit321fabfd8e27bbfe57861997d06b6c227a4a6cdd (patch)
tree5a8405eb06632a48dc7e6f6d17afbb593714d691
parent972d55851a39494dd9fb9ecef5efaf5e03d55ef5 (diff)
downloadbcm5719-llvm-321fabfd8e27bbfe57861997d06b6c227a4a6cdd.tar.gz
bcm5719-llvm-321fabfd8e27bbfe57861997d06b6c227a4a6cdd.zip
Revert "Revert "Don't use unique section names by default if using the integrated as.""
This reverts commit r233398, bringing back 233393 now that LLVM is fixed. Original message: 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. llvm-svn: 234101
-rw-r--r--clang/lib/Driver/Tools.cpp9
-rw-r--r--clang/test/Driver/function-sections.c10
2 files changed, 16 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 6f8751d5ca7..7b661a7c886 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3104,8 +3104,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
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)) {
@@ -3349,7 +3351,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
}
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);
diff --git a/clang/test/Driver/function-sections.c b/clang/test/Driver/function-sections.c
index ba065b1367a..6c243195f62 100644
--- a/clang/test/Driver/function-sections.c
+++ b/clang/test/Driver/function-sections.c
@@ -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
OpenPOWER on IntegriCloud