Add additionalLinkerInputs for both version_script
and dynamic_list. Fixes: 249175838 Test: Unit tests Change-Id: Id65e05cc9dbd294ce09dea36851d69d9962994c7
This commit is contained in:
@@ -338,22 +338,30 @@ cc_library_shared {
|
||||
})
|
||||
}
|
||||
|
||||
func TestCcLibrarySharedVersionScript(t *testing.T) {
|
||||
func TestCcLibrarySharedVersionScriptAndDynamicList(t *testing.T) {
|
||||
runCcLibrarySharedTestCase(t, Bp2buildTestCase{
|
||||
Description: "cc_library_shared version script",
|
||||
Description: "cc_library_shared version script and dynamic list",
|
||||
Filesystem: map[string]string{
|
||||
"version_script": "",
|
||||
"dynamic.list": "",
|
||||
},
|
||||
Blueprint: soongCcLibrarySharedPreamble + `
|
||||
cc_library_shared {
|
||||
name: "foo_shared",
|
||||
version_script: "version_script",
|
||||
dynamic_list: "dynamic.list",
|
||||
include_build_directory: false,
|
||||
}`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{
|
||||
"additional_linker_inputs": `["version_script"]`,
|
||||
"linkopts": `["-Wl,--version-script,$(location version_script)"]`,
|
||||
"additional_linker_inputs": `[
|
||||
"version_script",
|
||||
"dynamic.list",
|
||||
]`,
|
||||
"linkopts": `[
|
||||
"-Wl,--version-script,$(location version_script)",
|
||||
"-Wl,--dynamic-list,$(location dynamic.list)",
|
||||
]`,
|
||||
}),
|
||||
},
|
||||
})
|
||||
|
@@ -1019,18 +1019,20 @@ func (la *linkerAttributes) bp2buildForAxisAndConfig(ctx android.BazelConversion
|
||||
axisFeatures = append(axisFeatures, "-static_flag")
|
||||
}
|
||||
}
|
||||
additionalLinkerInputs := bazel.LabelList{}
|
||||
if props.Version_script != nil {
|
||||
label := android.BazelLabelForModuleSrcSingle(ctx, *props.Version_script)
|
||||
la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}})
|
||||
additionalLinkerInputs.Add(&label)
|
||||
linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--version-script,$(location %s)", label.Label))
|
||||
}
|
||||
|
||||
if props.Dynamic_list != nil {
|
||||
label := android.BazelLabelForModuleSrcSingle(ctx, *props.Dynamic_list)
|
||||
la.additionalLinkerInputs.SetSelectValue(axis, config, bazel.LabelList{Includes: []bazel.Label{label}})
|
||||
additionalLinkerInputs.Add(&label)
|
||||
linkerFlags = append(linkerFlags, fmt.Sprintf("-Wl,--dynamic-list,$(location %s)", label.Label))
|
||||
}
|
||||
|
||||
la.additionalLinkerInputs.SetSelectValue(axis, config, additionalLinkerInputs)
|
||||
la.linkopts.SetSelectValue(axis, config, parseCommandLineFlags(linkerFlags, false, filterOutClangUnknownCflags))
|
||||
la.useLibcrt.SetSelectValue(axis, config, props.libCrt())
|
||||
|
||||
|
Reference in New Issue
Block a user