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") }, "-l")
muslCrtBeginStaticBinary, muslCrtEndStaticBinary = []string{"libc_musl_crtbegin_static"}, []string{"libc_musl_crtend"} 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"} muslCrtBeginSharedLibrary, muslCrtEndSharedLibrary = []string{"libc_musl_crtbegin_so"}, []string{"libc_musl_crtend_so"}
muslDefaultSharedLibraries = []string{"libc_musl"} muslDefaultSharedLibraries = []string{"libc_musl"}

View File

@@ -256,18 +256,13 @@ func (object *objectLinker) link(ctx ModuleContext,
builderFlags := flagsToBuilderFlags(flags) builderFlags := flagsToBuilderFlags(flags)
if len(objs.objFiles) == 1 && String(object.Properties.Linker_script) == "" { if len(objs.objFiles) == 1 && String(object.Properties.Linker_script) == "" {
output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension) outputFile = objs.objFiles[0]
outputFile = output
if String(object.Properties.Prefix_symbols) != "" { 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) builderFlags, output)
} else { outputFile = output
ctx.Build(pctx, android.BuildParams{
Rule: android.Cp,
Input: objs.objFiles[0],
Output: output,
})
} }
} else { } else {
output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension) output := android.PathForModuleOut(ctx, ctx.ModuleName()+objectExtension)

View File

@@ -15,7 +15,6 @@
package cc package cc
import ( import (
"fmt"
"testing" "testing"
"android/soong/android" "android/soong/android"
@@ -108,53 +107,3 @@ cc_object {
expectedOutputFiles := []string{"outputbase/execroot/__main__/bazel_out.o"} expectedOutputFiles := []string{"outputbase/execroot/__main__/bazel_out.o"}
android.AssertDeepEquals(t, "output files", expectedOutputFiles, outputFiles.Strings()) 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)
})
}
}