Revert "Strip libgcc to only keep fallback symbols"

This reverts commit bd475367c3dcb4478a70409c99b959ebdb117be3.

Reason for revert: b/130267141
Bug: 29275768
Bug: 130267141
Merged-In: I5b349fa6138e51663bf3b67109b880b4356da8e8
Change-Id: Ieab56390b27240ef7f2f52a48a673809da7bcf8e
diff --git a/cc/builder.go b/cc/builder.go
index c42f56c..c64243f 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -255,7 +255,6 @@
 	groupStaticLibs bool
 
 	stripKeepSymbols       bool
-	stripKeepSymbolsList   string
 	stripKeepMiniDebugInfo bool
 	stripAddGnuDebuglink   bool
 	stripUseGnuStrip       bool
@@ -824,9 +823,6 @@
 	if flags.stripKeepSymbols {
 		args += " --keep-symbols"
 	}
-	if flags.stripKeepSymbolsList != "" {
-		args += " -k" + flags.stripKeepSymbolsList
-	}
 	if flags.stripUseGnuStrip {
 		args += " --use-gnu-strip"
 	}
diff --git a/cc/cc_test.go b/cc/cc_test.go
index f3d5e60..05d74b9 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -1833,13 +1833,13 @@
 	// Check the shared version of lib2.
 	variant := "android_arm64_armv8-a_core_shared"
 	module := ctx.ModuleForTests("lib2", variant).Module().(*Module)
-	checkStaticLibs(t, []string{"lib1", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)
+	checkStaticLibs(t, []string{"lib1", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc"}, module)
 
 	// Check the static version of lib2.
 	variant = "android_arm64_armv8-a_core_static"
 	module = ctx.ModuleForTests("lib2", variant).Module().(*Module)
 	// libc++_static is linked additionally.
-	checkStaticLibs(t, []string{"lib1", "libc++_static", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)
+	checkStaticLibs(t, []string{"lib1", "libc++_static", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc"}, module)
 }
 
 var compilerFlagsTestCases = []struct {
diff --git a/cc/linker.go b/cc/linker.go
index e063e44..b279c06 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -228,10 +228,10 @@
 		// libclang_rt.builtins, libgcc and libatomic have to be last on the command line
 		if !Bool(linker.Properties.No_libcrt) {
 			deps.LateStaticLibs = append(deps.LateStaticLibs, config.BuiltinsRuntimeLibrary(ctx.toolchain()))
-			deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")
-			deps.LateStaticLibs = append(deps.LateStaticLibs, "libgcc_stripped")
-		} else if !Bool(linker.Properties.No_libgcc) {
-			deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")
+		}
+
+		deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")
+		if !Bool(linker.Properties.No_libgcc) {
 			deps.LateStaticLibs = append(deps.LateStaticLibs, "libgcc")
 		}
 
diff --git a/cc/strip.go b/cc/strip.go
index 7122585..02397f4 100644
--- a/cc/strip.go
+++ b/cc/strip.go
@@ -15,19 +15,15 @@
 package cc
 
 import (
-	"strings"
-
 	"android/soong/android"
 )
 
 type StripProperties struct {
 	Strip struct {
-		None              *bool    `android:"arch_variant"`
-		All               *bool    `android:"arch_variant"`
-		Keep_symbols      *bool    `android:"arch_variant"`
-		Keep_symbols_list []string `android:"arch_variant"`
-		Use_gnu_strip     *bool    `android:"arch_variant"`
-	} `android:"arch_variant"`
+		None         *bool
+		All          *bool
+		Keep_symbols *bool
+	}
 }
 
 type stripper struct {
@@ -46,14 +42,9 @@
 	} else {
 		if Bool(stripper.StripProperties.Strip.Keep_symbols) {
 			flags.stripKeepSymbols = true
-		} else if len(stripper.StripProperties.Strip.Keep_symbols_list) > 0 {
-			flags.stripKeepSymbolsList = strings.Join(stripper.StripProperties.Strip.Keep_symbols_list, ",")
 		} else if !Bool(stripper.StripProperties.Strip.All) {
 			flags.stripKeepMiniDebugInfo = true
 		}
-		if Bool(stripper.StripProperties.Strip.Use_gnu_strip) {
-			flags.stripUseGnuStrip = true
-		}
 		if ctx.Config().Debuggable() && !flags.stripKeepMiniDebugInfo {
 			flags.stripAddGnuDebuglink = true
 		}
diff --git a/cc/testing.go b/cc/testing.go
index 8d76c2f..2f41de1 100644
--- a/cc/testing.go
+++ b/cc/testing.go
@@ -69,13 +69,6 @@
 			src: "",
 		}
 
-		toolchain_library {
-			name: "libgcc_stripped",
-			vendor_available: true,
-			recovery_available: true,
-			src: "",
-		}
-
 		cc_library {
 			name: "libc",
 			no_libgcc: true,
diff --git a/cc/toolchain_library.go b/cc/toolchain_library.go
index 8ab8bc9..ae08b1c 100644
--- a/cc/toolchain_library.go
+++ b/cc/toolchain_library.go
@@ -34,8 +34,6 @@
 type toolchainLibraryDecorator struct {
 	*libraryDecorator
 
-	stripper
-
 	Properties toolchainLibraryProperties
 }
 
@@ -47,7 +45,7 @@
 func (library *toolchainLibraryDecorator) linkerProps() []interface{} {
 	var props []interface{}
 	props = append(props, library.libraryDecorator.linkerProps()...)
-	return append(props, &library.Properties, &library.stripper.StripProperties)
+	return append(props, &library.Properties)
 }
 
 func ToolchainLibraryFactory() android.Module {
@@ -77,17 +75,7 @@
 		return android.PathForSource(ctx, "")
 	}
 
-	srcPath := android.PathForSource(ctx, *library.Properties.Src)
-
-	if library.stripper.StripProperties.Strip.Keep_symbols_list != nil {
-		fileName := ctx.ModuleName() + staticLibraryExtension
-		outputFile := android.PathForModuleOut(ctx, fileName)
-		buildFlags := flagsToBuilderFlags(flags)
-		library.stripper.strip(ctx, srcPath, outputFile, buildFlags)
-		return outputFile
-	}
-
-	return srcPath
+	return android.PathForSource(ctx, *library.Properties.Src)
 }
 
 func (library *toolchainLibraryDecorator) nativeCoverage() bool {