aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2018-03-21 10:32:43 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-21 10:34:42 -0700
commit961748593f9447ec4f8ff46f14ee4306a5a9574b (patch)
tree2d069a6e631d77a5454801bbb9cf196780d2bf4b
parenta3ba00e61f81163f90b1edee4a076c7e7d877e4c (diff)
Automated rollback of commit 3dab964407a2f1e12feb439d8507079bc06cb769.
*** Reason for rollback *** Break bazel ci. *** Original change description *** Assume toolchain supportsDynamicLinker from presence of "dynamic_linking_mode" feature Toolchains no longer have to provide linking_mode_flags { mode: DYNAMIC } to state that they support dynamic linking mode. It is enough to provide a feature. This is part of ongoing work to get rid of linking_mode_flags from the CROSSTOOL. RELNOTES: None. PiperOrigin-RevId: 189928991
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java19
4 files changed, 1 insertions, 36 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
index 03a9f9d674..52bbd59450 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
@@ -320,11 +320,7 @@ public final class CppToolchainInfo {
this.supportsFission = supportsFission;
this.supportsStartEndLib = supportsStartEndLib;
this.supportsEmbeddedRuntimes = supportsEmbeddedRuntimes;
- this.supportsDynamicLinker =
- supportsDynamicLinker
- || toolchainFeatures
- .getActivatableNames()
- .contains(CppRuleClasses.DYNAMIC_LINKING_MODE);
+ this.supportsDynamicLinker = supportsDynamicLinker;
this.supportsInterfaceSharedObjects = supportsInterfaceSharedObjects;
this.supportsGoldLinker = supportsGoldLinker;
this.toolchainNeedsPic = toolchainNeedsPic;
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
index eb613ba2df..5010faf11d 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
@@ -85,7 +85,6 @@ public final class BazelMockCcSupport extends MockCcSupport {
" toolchains = {",
" 'local|compiler': ':cc-compiler-local',",
" 'k8|compiler': ':cc-compiler-k8',",
- " 'k8|compiler_no_dyn_linker': ':cc-no-dyn-compiler-k8',",
" 'piii|compiler': ':cc-compiler-piii',",
" 'darwin|compiler': ':cc-compiler-darwin',",
" 'ios_x86_64|compiler': ':cc-compiler-ios_x86_64',",
@@ -100,13 +99,6 @@ public final class BazelMockCcSupport extends MockCcSupport {
" module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
")",
- "cc_toolchain(name = 'cc-no-dyn-compiler-k8', all_files = ':empty', ",
- " compiler_files = ':empty', cpu = 'k8', compiler = 'compiler_no_dyn_linker', ",
- " libc = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
- " ar_files = ':empty', as_files = ':empty', linker_files = ':empty',",
- " module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
- " objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
- ")",
"cc_toolchain(name = 'cc-compiler-ppc', all_files = ':empty', compiler_files = ':empty',",
" cpu = 'ppc', compiler = 'compiler', libc = 'local', dwp_files = ':empty',",
" dynamic_runtime_libs = [':empty'], ",
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
index 81c86f9d9a..d55d3b53a6 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
@@ -24,7 +24,6 @@ import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.rules.cpp.CppCompileAction;
-import com.google.devtools.build.lib.rules.cpp.CppRuleClasses;
import com.google.devtools.build.lib.rules.cpp.Link.LinkTargetType;
import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -129,9 +128,6 @@ public abstract class MockCcSupport {
/** This feature will prevent bazel from patching the crosstool. */
public static final String NO_LEGACY_FEATURES_FEATURE = "feature { name: 'no_legacy_features' }";
- public static final String DYNAMIC_LINKING_MODE_FEATURE =
- "feature { name: '" + CppRuleClasses.DYNAMIC_LINKING_MODE + "'}";
-
/** Feature expected by the C++ rules when pic build is requested */
public static final String PIC_FEATURE =
""
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
index cfc288ab48..c4afac299f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
@@ -912,23 +912,4 @@ public class CcToolchainTest extends BuildViewTestCase {
(CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
assertThat(toolchainProvider.getAbi()).isEqualTo("banana");
}
-
- @Test
- public void testSupportsDynamicLinkerCheckFeatures() throws Exception {
- writeDummyCcToolchain();
-
- getAnalysisMock()
- .ccSupport()
- .setupCrosstool(mockToolsConfig, MockCcSupport.DYNAMIC_LINKING_MODE_FEATURE);
-
- // To make sure the toolchain doesn't define linking_mode_flags { mode: DYNAMIC } as that would
- // also result in supportsDynamicLinker returning true
- useConfiguration("--compiler=compiler_no_dyn_linker", "--cpu=k8");
-
- ConfiguredTarget target = getConfiguredTarget("//a:b");
- CcToolchainProvider toolchainProvider =
- (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
-
- assertThat(toolchainProvider.supportsDynamicLinker()).isTrue();
- }
}