diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-04-04 18:21:14 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-04-04 18:21:14 +0000 |
commit | 321fabfd8e27bbfe57861997d06b6c227a4a6cdd (patch) | |
tree | 5a8405eb06632a48dc7e6f6d17afbb593714d691 | |
parent | 972d55851a39494dd9fb9ecef5efaf5e03d55ef5 (diff) | |
download | bcm5719-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.cpp | 9 | ||||
-rw-r--r-- | clang/test/Driver/function-sections.c | 10 |
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 |