diff --git a/cc/builder.go b/cc/builder.go index e35cebb42..d6d1a02c7 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -302,6 +302,14 @@ func TransformObjToDynamicBinary(ctx common.AndroidModuleContext, libFlagsList = append(libFlagsList, staticLibs...) + if groupLate && len(lateStaticLibs) > 0 { + libFlagsList = append(libFlagsList, "-Wl,--start-group") + } + libFlagsList = append(libFlagsList, lateStaticLibs...) + if groupLate && len(lateStaticLibs) > 0 { + libFlagsList = append(libFlagsList, "-Wl,--end-group") + } + for _, lib := range sharedLibs { dir, file := filepath.Split(lib) if !strings.HasPrefix(file, "lib") { @@ -315,14 +323,6 @@ func TransformObjToDynamicBinary(ctx common.AndroidModuleContext, ldDirs = append(ldDirs, dir) } - if groupLate && len(lateStaticLibs) > 0 { - libFlagsList = append(libFlagsList, "-Wl,--start-group") - } - libFlagsList = append(libFlagsList, lateStaticLibs...) - if groupLate && len(lateStaticLibs) > 0 { - libFlagsList = append(libFlagsList, "-Wl,--end-group") - } - deps = append(deps, ldCmd) deps = append(deps, sharedLibs...) deps = append(deps, staticLibs...)