Remove default_shared_libs

system_shared_libs has been modified to have the same behavior as
the newly added default_shared_libs, remove default_shared_libs in
favor of system_shared_libs.

This reverts Ia2349d84c70e503916f90a5d2702e135248f73df and renames
the default_shared_libs property in cc_object (which never had
system_shared_libs) to system_shared_libs.

Bug: 193559105
Test: m checkbuild
Change-Id: I46672e3a096b6ea94ff4c10e1c31e8fd010a163c
diff --git a/bp2build/cc_object_conversion_test.go b/bp2build/cc_object_conversion_test.go
index 8ede226..869be20 100644
--- a/bp2build/cc_object_conversion_test.go
+++ b/bp2build/cc_object_conversion_test.go
@@ -46,7 +46,7 @@
 		blueprint: `cc_object {
     name: "foo",
     local_include_dirs: ["include"],
-    default_shared_libs: [],
+    system_shared_libs: [],
     cflags: [
         "-Wno-gcc-compat",
         "-Wall",
@@ -84,7 +84,7 @@
 		moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build,
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     local_include_dirs: ["include"],
     srcs: [
         "a/b/*.h",
@@ -137,14 +137,14 @@
 		},
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["a/b/c.c"],
     objs: ["bar"],
 }
 
 cc_object {
     name: "bar",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["x/y/z.c"],
 }
 `,
@@ -182,7 +182,7 @@
 		},
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["a/b/c.c"],
     include_build_directory: false,
 }
@@ -204,7 +204,7 @@
 		moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build,
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     include_build_directory: false,
     product_variables: {
         platform_sdk_version: {
@@ -233,7 +233,7 @@
 		moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build,
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["a.cpp"],
     arch: {
         x86: {
@@ -273,7 +273,7 @@
 		moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build,
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["base.cpp"],
     arch: {
         x86: {
@@ -329,7 +329,7 @@
 		moduleTypeUnderTestBp2BuildMutator: cc.ObjectBp2Build,
 		blueprint: `cc_object {
     name: "foo",
-    default_shared_libs: [],
+    system_shared_libs: [],
     srcs: ["base.cpp"],
     target: {
         android: {
diff --git a/cc/cc.go b/cc/cc.go
index 90c0237..d9a99f9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -554,8 +554,7 @@
 	sharedLibs []string
 	// Note nil and [] are semantically distinct. [] prevents linking against the defaults (usually
 	// libc, libm, etc.)
-	systemSharedLibs  []string
-	defaultSharedLibs []string
+	systemSharedLibs []string
 }
 
 // installer is the interface for an installer helper object. This helper is responsible for
diff --git a/cc/library.go b/cc/library.go
index 4fd7c74..684694b 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -147,12 +147,11 @@
 
 	Cflags []string `android:"arch_variant"`
 
-	Enabled             *bool    `android:"arch_variant"`
-	Whole_static_libs   []string `android:"arch_variant"`
-	Static_libs         []string `android:"arch_variant"`
-	Shared_libs         []string `android:"arch_variant"`
-	System_shared_libs  []string `android:"arch_variant"`
-	Default_shared_libs []string `android:"arch_variant"`
+	Enabled            *bool    `android:"arch_variant"`
+	Whole_static_libs  []string `android:"arch_variant"`
+	Static_libs        []string `android:"arch_variant"`
+	Shared_libs        []string `android:"arch_variant"`
+	System_shared_libs []string `android:"arch_variant"`
 
 	Export_shared_lib_headers []string `android:"arch_variant"`
 	Export_static_lib_headers []string `android:"arch_variant"`
@@ -1157,17 +1156,11 @@
 		if library.StaticProperties.Static.System_shared_libs != nil {
 			library.baseLinker.Properties.System_shared_libs = library.StaticProperties.Static.System_shared_libs
 		}
-		if library.StaticProperties.Static.Default_shared_libs != nil {
-			library.baseLinker.Properties.Default_shared_libs = library.StaticProperties.Static.Default_shared_libs
-		}
 	} else if library.shared() {
 		// Compare with nil because an empty list needs to be propagated.
 		if library.SharedProperties.Shared.System_shared_libs != nil {
 			library.baseLinker.Properties.System_shared_libs = library.SharedProperties.Shared.System_shared_libs
 		}
-		if library.SharedProperties.Shared.Default_shared_libs != nil {
-			library.baseLinker.Properties.Default_shared_libs = library.SharedProperties.Shared.Default_shared_libs
-		}
 	}
 
 	deps = library.baseLinker.linkerDeps(ctx, deps)
@@ -1249,11 +1242,6 @@
 	} else {
 		specifiedDeps.systemSharedLibs = append(specifiedDeps.systemSharedLibs, properties.System_shared_libs...)
 	}
-	if specifiedDeps.defaultSharedLibs == nil {
-		specifiedDeps.defaultSharedLibs = properties.Default_shared_libs
-	} else {
-		specifiedDeps.defaultSharedLibs = append(specifiedDeps.defaultSharedLibs, properties.Default_shared_libs...)
-	}
 
 	specifiedDeps.sharedLibs = android.FirstUniqueStrings(specifiedDeps.sharedLibs)
 	if len(specifiedDeps.systemSharedLibs) > 0 {
@@ -1261,11 +1249,6 @@
 		// retained.
 		specifiedDeps.systemSharedLibs = android.FirstUniqueStrings(specifiedDeps.systemSharedLibs)
 	}
-	if len(specifiedDeps.defaultSharedLibs) > 0 {
-		// Skip this if defaultSharedLibs is either nil or [], to ensure they are
-		// retained.
-		specifiedDeps.defaultSharedLibs = android.FirstUniqueStrings(specifiedDeps.defaultSharedLibs)
-	}
 	return specifiedDeps
 }
 
diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go
index 9ad2742..9010a1a 100644
--- a/cc/library_sdk_member.go
+++ b/cc/library_sdk_member.go
@@ -258,12 +258,6 @@
 		outputProperties.AddPropertyWithTag("system_shared_libs", libInfo.SystemSharedLibs, builder.SdkMemberReferencePropertyTag(false))
 	}
 
-	// SystemSharedLibs needs to be propagated if it's a list, even if it's empty,
-	// so check for non-nil instead of nonzero length.
-	if libInfo.DefaultSharedLibs != nil {
-		outputProperties.AddPropertyWithTag("default_shared_libs", libInfo.DefaultSharedLibs, builder.SdkMemberReferencePropertyTag(false))
-	}
-
 	// Map from property name to the include dirs to add to the prebuilt module in the snapshot.
 	includeDirs := make(map[string][]string)
 
@@ -393,12 +387,6 @@
 	// This field is exported as its contents may not be arch specific.
 	SystemSharedLibs []string `android:"arch_variant"`
 
-	// The set of default shared libraries. Note nil and [] are semantically
-	// distinct - see BaseLinkerProperties.Default_shared_libs.
-	//
-	// This field is exported as its contents may not be arch specific.
-	DefaultSharedLibs []string `android:"arch_variant"`
-
 	// The specific stubs version for the lib variant, or empty string if stubs
 	// are not in use.
 	//
@@ -474,7 +462,6 @@
 			}
 		}
 		p.SystemSharedLibs = specifiedDeps.systemSharedLibs
-		p.DefaultSharedLibs = specifiedDeps.defaultSharedLibs
 	}
 	p.ExportedGeneratedHeaders = exportedInfo.GeneratedHeaders
 
diff --git a/cc/linker.go b/cc/linker.go
index 14564b6..8c0476b 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -46,18 +46,11 @@
 	// list of module-specific flags that will be used for all link steps
 	Ldflags []string `android:"arch_variant"`
 
-	// list of system libraries that will be dynamically linked to shared library and executable
-	// modules that build against bionic (device or Linux bionic modules).  If unset, generally
-	// defaults to libc, libm, and libdl.  Set to [] to prevent linking against the defaults.
-	// Equivalent to default_shared_libs for modules that build against bionic, and ignored on
-	// modules that do not build against bionic.
+	// list of system libraries that will be dynamically linked to
+	// shared library and executable modules.  If unset, generally defaults to libc,
+	// libm, and libdl.  Set to [] to prevent linking against the defaults.
 	System_shared_libs []string `android:"arch_variant"`
 
-	// list of system libraries that will be dynamically linked to shared library and executable
-	// modules.  If unset, generally defaults to libc, libm, and libdl.  Set to [] to prevent
-	// linking against the defaults.  Equivalent to system_shared_libs, but applies to all modules.
-	Default_shared_libs []string `android:"arch_variant"`
-
 	// allow the module to contain undefined symbols.  By default,
 	// modules cannot contain undefined symbols that are not satisified by their immediate
 	// dependencies.  Set this flag to true to remove --no-undefined from the linker flags.
@@ -239,18 +232,6 @@
 	linker.Properties.Ldflags = append(linker.Properties.Ldflags, flags...)
 }
 
-// overrideDefaultSharedLibraries returns the contents of the default_shared_libs or
-// system_shared_libs properties, and records an error if both are set.
-func (linker *baseLinker) overrideDefaultSharedLibraries(ctx BaseModuleContext) []string {
-	if linker.Properties.System_shared_libs != nil && linker.Properties.Default_shared_libs != nil {
-		ctx.PropertyErrorf("system_shared_libs", "cannot be specified if default_shared_libs is also specified")
-	}
-	if linker.Properties.System_shared_libs != nil {
-		return linker.Properties.System_shared_libs
-	}
-	return linker.Properties.Default_shared_libs
-}
-
 // linkerInit initializes dynamic properties of the linker (such as runpath).
 func (linker *baseLinker) linkerInit(ctx BaseModuleContext) {
 	if ctx.toolchain().Is64Bit() {
@@ -351,13 +332,13 @@
 		deps.SharedLibs = append(deps.SharedLibs, linker.Properties.Target.Platform.Shared_libs...)
 	}
 
-	deps.SystemSharedLibs = linker.overrideDefaultSharedLibraries(ctx)
+	deps.SystemSharedLibs = linker.Properties.System_shared_libs
 	// In Bazel conversion mode, variations have not been specified, so SystemSharedLibs may
 	// inaccuarately appear unset, which can cause issues with circular dependencies.
 	if deps.SystemSharedLibs == nil && !ctx.BazelConversionMode() {
-		// Provide a default set of shared libraries if default_shared_libs and system_shared_libs
-		// are unspecified.  Note: If an empty list [] is specified, it implies that the module
-		// declines the default shared libraries.
+		// Provide a default system_shared_libs if it is unspecified. Note: If an
+		// empty list [] is specified, it implies that the module declines the
+		// default system_shared_libs.
 		deps.SystemSharedLibs = append(deps.SystemSharedLibs, ctx.toolchain().DefaultSharedLibraries()...)
 	}
 
@@ -593,11 +574,6 @@
 	} else {
 		specifiedDeps.systemSharedLibs = append(specifiedDeps.systemSharedLibs, linker.Properties.System_shared_libs...)
 	}
-	if specifiedDeps.defaultSharedLibs == nil {
-		specifiedDeps.defaultSharedLibs = linker.Properties.Default_shared_libs
-	} else {
-		specifiedDeps.defaultSharedLibs = append(specifiedDeps.defaultSharedLibs, linker.Properties.Default_shared_libs...)
-	}
 
 	return specifiedDeps
 }
diff --git a/cc/object.go b/cc/object.go
index 9f2db2e..f742a77 100644
--- a/cc/object.go
+++ b/cc/object.go
@@ -78,7 +78,7 @@
 
 	// list of default libraries that will provide headers for this module.  If unset, generally
 	// defaults to libc, libm, and libdl.  Set to [] to prevent using headers from the defaults.
-	Default_shared_libs []string `android:"arch_variant"`
+	System_shared_libs []string `android:"arch_variant"`
 
 	// names of other cc_object modules to link into this module using partial linking
 	Objs []string `android:"arch_variant"`
@@ -212,9 +212,9 @@
 	deps.StaticLibs = append(deps.StaticLibs, object.Properties.Static_libs...)
 	deps.ObjFiles = append(deps.ObjFiles, object.Properties.Objs...)
 
-	deps.SystemSharedLibs = object.Properties.Default_shared_libs
+	deps.SystemSharedLibs = object.Properties.System_shared_libs
 	if deps.SystemSharedLibs == nil {
-		// Provide a default set of shared libraries if default_shared_libs is unspecified.
+		// Provide a default set of shared libraries if system_shared_libs is unspecified.
 		// Note: If an empty list [] is specified, it implies that the module declines the
 		// default shared libraries.
 		deps.SystemSharedLibs = append(deps.SystemSharedLibs, ctx.toolchain().DefaultSharedLibraries()...)
@@ -271,12 +271,12 @@
 func (object *objectLinker) linkerSpecifiedDeps(specifiedDeps specifiedDeps) specifiedDeps {
 	specifiedDeps.sharedLibs = append(specifiedDeps.sharedLibs, object.Properties.Shared_libs...)
 
-	// Must distinguish nil and [] in default_shared_libs - ensure that [] in
+	// Must distinguish nil and [] in system_shared_libs - ensure that [] in
 	// either input list doesn't come out as nil.
-	if specifiedDeps.defaultSharedLibs == nil {
-		specifiedDeps.defaultSharedLibs = object.Properties.Default_shared_libs
+	if specifiedDeps.systemSharedLibs == nil {
+		specifiedDeps.systemSharedLibs = object.Properties.System_shared_libs
 	} else {
-		specifiedDeps.defaultSharedLibs = append(specifiedDeps.defaultSharedLibs, object.Properties.Default_shared_libs...)
+		specifiedDeps.systemSharedLibs = append(specifiedDeps.systemSharedLibs, object.Properties.System_shared_libs...)
 	}
 
 	return specifiedDeps
diff --git a/cc/testing.go b/cc/testing.go
index b9d84f6..c549b5d 100644
--- a/cc/testing.go
+++ b/cc/testing.go
@@ -367,7 +367,7 @@
 			stl: "none",
 			min_sdk_version: "16",
 			crt: true,
-			default_shared_libs: [],
+			system_shared_libs: [],
 			apex_available: [
 				"//apex_available:platform",
 				"//apex_available:anyapex",
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go
index 60fbccf..25e35fc 100644
--- a/sdk/cc_sdk_test.go
+++ b/sdk/cc_sdk_test.go
@@ -347,7 +347,7 @@
 		cc_object {
 			name: "crtobj",
 			stl: "none",
-			default_shared_libs: [],
+			system_shared_libs: [],
 			sanitize: {
 				never: true,
 			},
@@ -365,7 +365,7 @@
     apex_available: ["//apex_available:platform"],
     stl: "none",
     compile_multilib: "both",
-    default_shared_libs: [],
+    system_shared_libs: [],
     sanitize: {
         never: true,
     },
@@ -390,7 +390,7 @@
     apex_available: ["//apex_available:platform"],
     stl: "none",
     compile_multilib: "both",
-    default_shared_libs: [],
+    system_shared_libs: [],
     sanitize: {
         never: true,
     },
@@ -2192,7 +2192,7 @@
 	result := testSdkWithCc(t, `
 		sdk {
 			name: "mysdk",
-			native_shared_libs: ["sslnil", "sslempty", "sslnonempty", "dslnil", "dslempty", "dslnonempty"],
+			native_shared_libs: ["sslnil", "sslempty", "sslnonempty"],
 		}
 
 		cc_library {
@@ -2209,21 +2209,6 @@
 			name: "sslnonempty",
 			system_shared_libs: ["sslnil"],
 		}
-
-		cc_library {
-			name: "dslnil",
-			host_supported: true,
-		}
-
-		cc_library {
-			name: "dslempty",
-			default_shared_libs: [],
-		}
-
-		cc_library {
-			name: "dslnonempty",
-			default_shared_libs: ["sslnil"],
-		}
 	`)
 
 	CheckSnapshot(t, result, "mysdk", "",
@@ -2279,62 +2264,13 @@
         },
     },
 }
-
-cc_prebuilt_library_shared {
-    name: "dslnil",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    compile_multilib: "both",
-    arch: {
-        arm64: {
-            srcs: ["arm64/lib/dslnil.so"],
-        },
-        arm: {
-            srcs: ["arm/lib/dslnil.so"],
-        },
-    },
-}
-
-cc_prebuilt_library_shared {
-    name: "dslempty",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    compile_multilib: "both",
-    default_shared_libs: [],
-    arch: {
-        arm64: {
-            srcs: ["arm64/lib/dslempty.so"],
-        },
-        arm: {
-            srcs: ["arm/lib/dslempty.so"],
-        },
-    },
-}
-
-cc_prebuilt_library_shared {
-    name: "dslnonempty",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    compile_multilib: "both",
-    default_shared_libs: ["sslnil"],
-    arch: {
-        arm64: {
-            srcs: ["arm64/lib/dslnonempty.so"],
-        },
-        arm: {
-            srcs: ["arm/lib/dslnonempty.so"],
-        },
-    },
-}`))
+`))
 
 	result = testSdkWithCc(t, `
 		sdk {
 			name: "mysdk",
 			host_supported: true,
-			native_shared_libs: ["sslvariants", "dslvariants"],
+			native_shared_libs: ["sslvariants"],
 		}
 
 		cc_library {
@@ -2346,16 +2282,6 @@
 				},
 			},
 		}
-
-		cc_library {
-			name: "dslvariants",
-			host_supported: true,
-			target: {
-				android: {
-					default_shared_libs: [],
-				},
-			},
-		}
 	`)
 
 	CheckSnapshot(t, result, "mysdk", "",
@@ -2392,37 +2318,6 @@
         },
     },
 }
-
-cc_prebuilt_library_shared {
-    name: "dslvariants",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    host_supported: true,
-    compile_multilib: "both",
-    target: {
-        host: {
-            enabled: false,
-        },
-        android: {
-            default_shared_libs: [],
-        },
-        android_arm64: {
-            srcs: ["android/arm64/lib/dslvariants.so"],
-        },
-        android_arm: {
-            srcs: ["android/arm/lib/dslvariants.so"],
-        },
-        linux_glibc_x86_64: {
-            enabled: true,
-            srcs: ["linux_glibc/x86_64/lib/dslvariants.so"],
-        },
-        linux_glibc_x86: {
-            enabled: true,
-            srcs: ["linux_glibc/x86/lib/dslvariants.so"],
-        },
-    },
-}
 `),
 		checkVersionedAndroidBpContents(`
 // This is auto-generated. DO NOT EDIT.
@@ -2459,46 +2354,11 @@
     },
 }
 
-cc_prebuilt_library_shared {
-    name: "mysdk_dslvariants@current",
-    sdk_member_name: "dslvariants",
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    host_supported: true,
-    installable: false,
-    compile_multilib: "both",
-    target: {
-        host: {
-            enabled: false,
-        },
-        android: {
-            default_shared_libs: [],
-        },
-        android_arm64: {
-            srcs: ["android/arm64/lib/dslvariants.so"],
-        },
-        android_arm: {
-            srcs: ["android/arm/lib/dslvariants.so"],
-        },
-        linux_glibc_x86_64: {
-            enabled: true,
-            srcs: ["linux_glibc/x86_64/lib/dslvariants.so"],
-        },
-        linux_glibc_x86: {
-            enabled: true,
-            srcs: ["linux_glibc/x86/lib/dslvariants.so"],
-        },
-    },
-}
-
 sdk_snapshot {
     name: "mysdk@current",
     visibility: ["//visibility:public"],
     host_supported: true,
-    native_shared_libs: [
-        "mysdk_sslvariants@current",
-        "mysdk_dslvariants@current",
-    ],
+    native_shared_libs: ["mysdk_sslvariants@current"],
     target: {
         host: {
             enabled: false,