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..."
This commit is contained in:
Alyssa Ketpreechasawat
2022-09-16 10:50:04 +00:00
committed by Gerrit Code Review
3 changed files with 5 additions and 61 deletions

View File

@@ -109,7 +109,7 @@ var (
}, "-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"}

View File

@@ -256,18 +256,13 @@ func (object *objectLinker) link(ctx ModuleContext,
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)

View File

@@ -15,7 +15,6 @@
package cc
import (
"fmt"
"testing"
"android/soong/android"
@@ -108,53 +107,3 @@ cc_object {
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)
})
}
}