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
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 8e92a56..c613ff0 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 @@
     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 c06f32b..c6fbe44 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 @@
 
   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 @@
             toolchain,
             fdoSupport,
             usePicForLtoBackendActions,
-            useFissionForLtoBackendActions);
+            cppConfiguration.useFission());
       }
     }
 
@@ -1011,12 +1010,6 @@
     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 36b32b3..90e8965 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 @@
         && 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 f49caa1..e63576e 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 @@
         && 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);