aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Marcel Hlopko <hlopko@google.com>2016-12-07 10:23:50 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-12-07 12:53:46 +0000
commitf7cf7258c5b1f11f6d8d7d2858e4c03aaff2303f (patch)
tree8758086dfbccba9bcb8a02e11a344f162416fd7d
parent33d9e2ac9c2b164e077b3018f0f483d17dc96c8a (diff)
decide whether to strip binaries only once
CppConfiguration's constructor was computing whether to strip binaries twice: once to fill the stripBinaries member and once to fill a local variable that shadowed the member. Doing only the former suffices. -- Change-Id: I20f61e71572da79e0ec315b01c04b13f4fb14960 Reviewed-on: https://cr.bazel.build/6390 PiperOrigin-RevId: 141285267 MOS_MIGRATED_REVID=141285267
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java24
2 files changed, 13 insertions, 29 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
index f0b6e4d61b..489f71b3d0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
@@ -620,29 +620,21 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
this.ldExecutable = getToolPathFragment(CppConfiguration.Tool.LD);
- boolean stripBinaries =
- (cppOptions.stripBinaries == StripMode.ALWAYS)
- || ((cppOptions.stripBinaries == StripMode.SOMETIMES)
- && (compilationMode == CompilationMode.FASTBUILD));
-
fullyStaticLinkFlags = new FlagList(
- configureLinkerOptions(compilationMode, lipoMode, LinkingMode.FULLY_STATIC,
- ldExecutable, stripBinaries),
+ configureLinkerOptions(compilationMode, lipoMode, LinkingMode.FULLY_STATIC, ldExecutable),
convertOptionalOptions(toolchain.getOptionalLinkerFlagList()),
ImmutableList.<String>of());
mostlyStaticLinkFlags = new FlagList(
- configureLinkerOptions(compilationMode, lipoMode, LinkingMode.MOSTLY_STATIC,
- ldExecutable, stripBinaries),
+ configureLinkerOptions(compilationMode, lipoMode, LinkingMode.MOSTLY_STATIC, ldExecutable),
convertOptionalOptions(toolchain.getOptionalLinkerFlagList()),
ImmutableList.<String>of());
mostlyStaticSharedLinkFlags = new FlagList(
configureLinkerOptions(compilationMode, lipoMode,
- LinkingMode.MOSTLY_STATIC_LIBRARIES, ldExecutable, stripBinaries),
+ LinkingMode.MOSTLY_STATIC_LIBRARIES, ldExecutable),
convertOptionalOptions(toolchain.getOptionalLinkerFlagList()),
ImmutableList.<String>of());
dynamicLinkFlags = new FlagList(
- configureLinkerOptions(compilationMode, lipoMode, LinkingMode.DYNAMIC,
- ldExecutable, stripBinaries),
+ configureLinkerOptions(compilationMode, lipoMode, LinkingMode.DYNAMIC, ldExecutable),
convertOptionalOptions(toolchain.getOptionalLinkerFlagList()),
ImmutableList.<String>of());
testOnlyLinkFlags = ImmutableList.copyOf(toolchain.getTestOnlyLinkerFlagList());
@@ -1120,7 +1112,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
@VisibleForTesting
ImmutableList<String> configureLinkerOptions(
CompilationMode compilationMode, LipoMode lipoMode, LinkingMode linkingMode,
- PathFragment ldExecutable, boolean stripBinaries) {
+ PathFragment ldExecutable) {
List<String> result = new ArrayList<>();
result.addAll(commonLinkOptions);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
index f25ea82d4c..73c011956c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
@@ -536,8 +536,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.FASTBUILD,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList(
"linker-flag-A-1",
@@ -549,8 +548,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.DBG,
LipoMode.OFF,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList(
"linker-flag-A-1",
@@ -562,8 +560,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.OPT,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList(
@@ -576,8 +573,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.OPT,
LipoMode.BINARY,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList("objcopy-embed-flag-A-1", "objcopy-embed-flag-A-2"),
@@ -639,24 +635,21 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.FASTBUILD,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList("-Wl,-S"),
toolchainC.configureLinkerOptions(
CompilationMode.DBG,
LipoMode.OFF,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
Arrays.asList("-Wl,-S"),
toolchainC.configureLinkerOptions(
CompilationMode.OPT,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertThat(toolchainC.getObjCopyOptionsForEmbedding()).isEmpty();
assertThat(toolchainC.getLdOptionsForEmbedding()).isEmpty();
@@ -697,8 +690,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.DBG,
lipoMode,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld"),
- true));
+ new PathFragment("hello-world/ld")));
assertEquals(
ImmutableList.<String>of(
"compiler-flag-B-1",