diff --git a/cc/builder.go b/cc/builder.go index d01141485..d0527cb44 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -384,9 +384,6 @@ type builderFlags struct { systemIncludeFlags string - // True if static libraries should be grouped (using `-Wl,--start-group` and `-Wl,--end-group`). - groupStaticLibs bool - proto android.ProtoFlags protoC bool // If true, compile protos as `.c` files. Otherwise, output as `.cc`. protoOptionsFile bool // If true, output a proto options file. @@ -752,13 +749,7 @@ func transformObjToDynamicBinary(ctx android.ModuleContext, } } - if flags.groupStaticLibs && !ctx.Darwin() && len(staticLibs) > 0 { - libFlagsList = append(libFlagsList, "-Wl,--start-group") - } libFlagsList = append(libFlagsList, staticLibs.Strings()...) - if flags.groupStaticLibs && !ctx.Darwin() && len(staticLibs) > 0 { - libFlagsList = append(libFlagsList, "-Wl,--end-group") - } if groupLate && !ctx.Darwin() && len(lateStaticLibs) > 0 { libFlagsList = append(libFlagsList, "-Wl,--start-group") diff --git a/cc/cc.go b/cc/cc.go index 9c1f5594f..b0c029934 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -217,8 +217,6 @@ type Flags struct { // True if .s files should be processed with the c preprocessor. AssemblerWithCpp bool - // True if static libraries should be grouped (using `-Wl,--start-group` and `-Wl,--end-group`). - GroupStaticLibs bool proto android.ProtoFlags protoC bool // Whether to use C instead of C++ diff --git a/cc/linker.go b/cc/linker.go index 8671dec62..0d612b583 100644 --- a/cc/linker.go +++ b/cc/linker.go @@ -86,8 +86,7 @@ type BaseLinkerProperties struct { // compiling crt or libc. Nocrt *bool `android:"arch_variant"` - // group static libraries. This can resolve missing symbols issues with interdependencies - // between static libraries, but it is generally better to order them correctly instead. + // deprecated and ignored because lld makes it unnecessary. See b/189475744. Group_static_libs *bool `android:"arch_variant"` // list of modules that should be installed with this module. This is similar to 'required' @@ -543,10 +542,6 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags { flags.Global.LdFlags = append(flags.Global.LdFlags, toolchain.ToolchainLdflags()) - if Bool(linker.Properties.Group_static_libs) { - flags.GroupStaticLibs = true - } - // Version_script is not needed when linking stubs lib where the version // script is created from the symbol map file. if !linker.dynamicProperties.BuildStubs { diff --git a/cc/util.go b/cc/util.go index 9bba87676..88b0aba0e 100644 --- a/cc/util.go +++ b/cc/util.go @@ -91,7 +91,6 @@ func flagsToBuilderFlags(in Flags) builderFlags { systemIncludeFlags: strings.Join(in.SystemIncludeFlags, " "), assemblerWithCpp: in.AssemblerWithCpp, - groupStaticLibs: in.GroupStaticLibs, proto: in.proto, protoC: in.protoC,