aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-08-29 17:57:35 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-08-29 18:52:58 +0200
commit7876d97dbe7d4593855e62667fa7eba5774b561b (patch)
tree41417385db45c966e8ffc2bdada03b4ae86604d7 /src
parent9981ca321a56d0e5fb023ce0922fdb60a93e380d (diff)
Ensure ThinLTO backend actions always generate debug info when fission enabled
While we don't generate .dwp files for shared libraries, the link still expects the object files to contain split debug info. Enhanced tests to ensure the cc_library LTO backend actions always have the expected outputs/build variable, regardless of linking static or not. RELNOTES: NONE PiperOrigin-RevId: 166853630
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java2
4 files changed, 1 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
index 8e92a561b7..c613ff0ec6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -291,7 +291,6 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
if (featureConfiguration.isEnabled(CppRuleClasses.THIN_LTO)) {
linkActionBuilder.setLtoIndexing(true);
linkActionBuilder.setUsePicForLtoBackendActions(usePic);
- linkActionBuilder.setUseFissionForLtoBackendActions(cppConfiguration.useFission());
CppLinkAction indexAction = linkActionBuilder.build();
ruleContext.registerAction(indexAction);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
index c06f32b741..c6fbe44f10 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
@@ -199,7 +199,6 @@ public class CppLinkActionBuilder {
private boolean isLtoIndexing = false;
private boolean usePicForLtoBackendActions = false;
- private boolean useFissionForLtoBackendActions = false;
private Iterable<LtoBackendArtifacts> allLtoArtifacts = null;
private final List<VariablesExtension> variablesExtensions = new ArrayList<>();
@@ -847,7 +846,7 @@ public class CppLinkActionBuilder {
toolchain,
fdoSupport,
usePicForLtoBackendActions,
- useFissionForLtoBackendActions);
+ cppConfiguration.useFission());
}
}
@@ -1011,12 +1010,6 @@ public class CppLinkActionBuilder {
return this;
}
- /** Sets flag for using Fission in any scheduled LTO Backend actions. */
- public CppLinkActionBuilder setUseFissionForLtoBackendActions(boolean useFission) {
- this.useFissionForLtoBackendActions = useFission;
- return this;
- }
-
/** Sets the C++ runtime library inputs for the action. */
public CppLinkActionBuilder setRuntimeInputs(
ArtifactCategory runtimeType, Artifact middleman, NestedSet<Artifact> inputs) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
index 36b32b3f48..90e8965b49 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
@@ -1290,12 +1290,6 @@ public final class CppModel {
&& featureConfiguration.isEnabled(CppRuleClasses.THIN_LTO)) {
dynamicLinkActionBuilder.setLtoIndexing(true);
dynamicLinkActionBuilder.setUsePicForLtoBackendActions(usePicForSharedLibs);
- // If support is ever added for generating a dwp file for shared
- // library targets (e.g. when linkstatic=0), then this should change
- // to generate dwo files when cppConfiguration.useFission(),
- // and the dwp generating action for the shared library should
- // include all of the resulting dwo files.
- dynamicLinkActionBuilder.setUseFissionForLtoBackendActions(false);
CppLinkAction indexAction = dynamicLinkActionBuilder.build();
env.registerAction(indexAction);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
index f49caa181b..e63576ea65 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
@@ -237,8 +237,6 @@ public abstract class NativeDepsHelper {
&& featureConfiguration.isEnabled(CppRuleClasses.THIN_LTO)) {
builder.setLtoIndexing(true);
builder.setUsePicForLtoBackendActions(CppHelper.usePic(ruleContext, false));
- builder.setUseFissionForLtoBackendActions(
- ruleContext.getFragment(CppConfiguration.class).useFission());
CppLinkAction indexAction = builder.build();
ruleContext.registerAction(indexAction);
builder.setLtoIndexing(false);