Merge changes from topic "revert-2216822-DZNPYURQOE"
* changes:
Revert "Drop dependency on musl_linker_script"
Revert "Copy cc_object output files to a name that matches the m..."
diff --git a/cc/config/x86_linux_host.go b/cc/config/x86_linux_host.go
index 07b95e1..1b126de 100644
--- a/cc/config/x86_linux_host.go
+++ b/cc/config/x86_linux_host.go
@@ -109,7 +109,7 @@
}, "-l")
muslCrtBeginStaticBinary, muslCrtEndStaticBinary = []string{"libc_musl_crtbegin_static"}, []string{"libc_musl_crtend"}
- muslCrtBeginSharedBinary, muslCrtEndSharedBinary = []string{"libc_musl_crtbegin_dynamic"}, []string{"libc_musl_crtend"}
+ muslCrtBeginSharedBinary, muslCrtEndSharedBinary = []string{"libc_musl_crtbegin_dynamic", "musl_linker_script"}, []string{"libc_musl_crtend"}
muslCrtBeginSharedLibrary, muslCrtEndSharedLibrary = []string{"libc_musl_crtbegin_so"}, []string{"libc_musl_crtend_so"}
muslDefaultSharedLibraries = []string{"libc_musl"}
diff --git a/cc/object.go b/cc/object.go
index 20eef30..65a11e0 100644
--- a/cc/object.go
+++ b/cc/object.go
@@ -256,18 +256,13 @@
builderFlags := flagsToBuilderFlags(flags)
if len(objs.objFiles) == 1 && String(object.Properties.Linker_script) == "" {
- output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension)
- outputFile = output
+ outputFile = objs.objFiles[0]
if String(object.Properties.Prefix_symbols) != "" {
- transformBinaryPrefixSymbols(ctx, String(object.Properties.Prefix_symbols), objs.objFiles[0],
+ output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension)
+ transformBinaryPrefixSymbols(ctx, String(object.Properties.Prefix_symbols), outputFile,
builderFlags, output)
- } else {
- ctx.Build(pctx, android.BuildParams{
- Rule: android.Cp,
- Input: objs.objFiles[0],
- Output: output,
- })
+ outputFile = output
}
} else {
output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension)
diff --git a/cc/object_test.go b/cc/object_test.go
index 00f83d4..259a892 100644
--- a/cc/object_test.go
+++ b/cc/object_test.go
@@ -15,7 +15,6 @@
package cc
import (
- "fmt"
"testing"
"android/soong/android"
@@ -108,53 +107,3 @@
expectedOutputFiles := []string{"outputbase/execroot/__main__/bazel_out.o"}
android.AssertDeepEquals(t, "output files", expectedOutputFiles, outputFiles.Strings())
}
-
-func TestCcObjectOutputFile(t *testing.T) {
- testcases := []struct {
- name string
- bp string
- }{
- {
- name: "normal",
- bp: `
- srcs: ["bar.c"],
- `,
- },
- {
- name: "keep symbols",
- bp: `
- srcs: ["bar.c"],
- prefix_symbols: "foo_",
- `,
- },
- {
- name: "partial linking",
- bp: `
- srcs: ["bar.c", "baz.c"],
- `,
- },
- {
- name: "partial linking and prefix symbols",
- bp: `
- srcs: ["bar.c", "baz.c"],
- prefix_symbols: "foo_",
- `,
- },
- }
-
- for _, testcase := range testcases {
- bp := fmt.Sprintf(`
- cc_object {
- name: "foo",
- %s
- }
- `, testcase.bp)
- t.Run(testcase.name, func(t *testing.T) {
- ctx := PrepareForIntegrationTestWithCc.RunTestWithBp(t, bp)
- android.AssertPathRelativeToTopEquals(t, "expected output file foo.o",
- "out/soong/.intermediates/foo/android_arm64_armv8-a/foo.o",
- ctx.ModuleForTests("foo", "android_arm64_armv8-a").Output("foo.o").Output)
- })
- }
-
-}