Revert "Block CFI on static libraries"
This reverts commit f9abec0987feb81132201179217ad0ea66ae4074.
Reason for revert:
https://b.corp.google.com/issues/301444094
https://b.corp.google.com/issues/301443813
https://b.corp.google.com/issues/301437374
Change-Id: I6fd03e4d3c0930005178ad347f53156be8f15efc
diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go
index 82b9e4a..28dbf7e 100644
--- a/bp2build/cc_library_conversion_test.go
+++ b/bp2build/cc_library_conversion_test.go
@@ -4785,6 +4785,7 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{
+ "features": `["android_cfi"]`,
"local_includes": `["."]`,
}),
MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{
@@ -4813,6 +4814,10 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{
+ "features": `select({
+ "//build/bazel/platforms/os:android": ["android_cfi"],
+ "//conditions:default": [],
+ })`,
"local_includes": `["."]`,
}),
MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{
@@ -4843,7 +4848,10 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{
- "features": `["android_cfi_assembly_support"]`,
+ "features": `[
+ "android_cfi",
+ "android_cfi_assembly_support",
+ ]`,
"local_includes": `["."]`,
}),
MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{
diff --git a/bp2build/cc_library_shared_conversion_test.go b/bp2build/cc_library_shared_conversion_test.go
index b9df2e7..90b13b0 100644
--- a/bp2build/cc_library_shared_conversion_test.go
+++ b/bp2build/cc_library_shared_conversion_test.go
@@ -1522,7 +1522,7 @@
runCcLibrarySharedTestCase(t, Bp2buildTestCase{
Description: "cc_library_shared has correct features when cfi is enabled with cfi assembly support",
Blueprint: `
-cc_library_shared {
+cc_library_static {
name: "foo",
sanitize: {
cfi: true,
@@ -1532,7 +1532,7 @@
},
}`,
ExpectedBazelTargets: []string{
- MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{
+ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
"features": `[
"android_cfi",
"android_cfi_assembly_support",
diff --git a/bp2build/cc_library_static_conversion_test.go b/bp2build/cc_library_static_conversion_test.go
index e7a75b4..89ec8f9 100644
--- a/bp2build/cc_library_static_conversion_test.go
+++ b/bp2build/cc_library_static_conversion_test.go
@@ -2135,9 +2135,9 @@
})
}
-func TestCcLibraryStaticNoCfi(t *testing.T) {
+func TestCcLibraryStaticWithCfi(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
- Description: "cc_library_static never explicitly enables CFI",
+ Description: "cc_library_static has correct features when cfi is enabled",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2147,6 +2147,7 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
+ "features": `["android_cfi"]`,
"local_includes": `["."]`,
}),
},
@@ -2155,7 +2156,7 @@
func TestCcLibraryStaticWithCfiOsSpecific(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
- Description: "cc_library_static never explicitly enables CFI even for specific variants",
+ Description: "cc_library_static has correct features when cfi is enabled for specific variants",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2169,6 +2170,10 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
+ "features": `select({
+ "//build/bazel/platforms/os:android": ["android_cfi"],
+ "//conditions:default": [],
+ })`,
"local_includes": `["."]`,
}),
},
@@ -2177,7 +2182,7 @@
func TestCcLibraryStaticWithCfiAndCfiAssemblySupport(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
- Description: "cc_library_static will specify cfi_assembly_support feature but not cfi feature",
+ Description: "cc_library_static has correct features when cfi is enabled with cfi_assembly_support",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2190,7 +2195,10 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
- "features": `["android_cfi_assembly_support"]`,
+ "features": `[
+ "android_cfi",
+ "android_cfi_assembly_support",
+ ]`,
"local_includes": `["."]`,
}),
},