Merge "Propagate sanitize.never flag in SDK snapshots."
This commit is contained in:
@@ -212,6 +212,11 @@ var includeDirProperties = []includeDirsProperty{
|
|||||||
// Add properties that may, or may not, be arch specific.
|
// Add properties that may, or may not, be arch specific.
|
||||||
func addPossiblyArchSpecificProperties(sdkModuleContext android.ModuleContext, builder android.SnapshotBuilder, libInfo *nativeLibInfoProperties, outputProperties android.BpPropertySet) {
|
func addPossiblyArchSpecificProperties(sdkModuleContext android.ModuleContext, builder android.SnapshotBuilder, libInfo *nativeLibInfoProperties, outputProperties android.BpPropertySet) {
|
||||||
|
|
||||||
|
if libInfo.SanitizeNever {
|
||||||
|
sanitizeSet := outputProperties.AddPropertySet("sanitize")
|
||||||
|
sanitizeSet.AddProperty("never", true)
|
||||||
|
}
|
||||||
|
|
||||||
// Copy the generated library to the snapshot and add a reference to it in the .bp module.
|
// Copy the generated library to the snapshot and add a reference to it in the .bp module.
|
||||||
if libInfo.outputFile != nil {
|
if libInfo.outputFile != nil {
|
||||||
nativeLibraryPath := nativeLibraryPathFor(libInfo)
|
nativeLibraryPath := nativeLibraryPathFor(libInfo)
|
||||||
@@ -359,6 +364,9 @@ type nativeLibInfoProperties struct {
|
|||||||
// not vary by arch so cannot be android specific.
|
// not vary by arch so cannot be android specific.
|
||||||
StubsVersion string `sdk:"ignored-on-host"`
|
StubsVersion string `sdk:"ignored-on-host"`
|
||||||
|
|
||||||
|
// Value of SanitizeProperties.Sanitize.Never. Needs to be propagated for CRT objects.
|
||||||
|
SanitizeNever bool `android:"arch_variant"`
|
||||||
|
|
||||||
// outputFile is not exported as it is always arch specific.
|
// outputFile is not exported as it is always arch specific.
|
||||||
outputFile android.Path
|
outputFile android.Path
|
||||||
}
|
}
|
||||||
@@ -405,6 +413,10 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
|
|||||||
if ccModule.HasStubsVariants() {
|
if ccModule.HasStubsVariants() {
|
||||||
p.StubsVersion = ccModule.StubsVersion()
|
p.StubsVersion = ccModule.StubsVersion()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ccModule.sanitize != nil && proptools.Bool(ccModule.sanitize.Properties.Sanitize.Never) {
|
||||||
|
p.SanitizeNever = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getRequiredMemberOutputFile(ctx android.SdkMemberContext, ccModule *Module) android.Path {
|
func getRequiredMemberOutputFile(ctx android.SdkMemberContext, ccModule *Module) android.Path {
|
||||||
|
@@ -340,6 +340,9 @@ func TestSnapshotWithObject(t *testing.T) {
|
|||||||
cc_object {
|
cc_object {
|
||||||
name: "crtobj",
|
name: "crtobj",
|
||||||
stl: "none",
|
stl: "none",
|
||||||
|
sanitize: {
|
||||||
|
never: true,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
@@ -352,6 +355,9 @@ cc_prebuilt_object {
|
|||||||
sdk_member_name: "crtobj",
|
sdk_member_name: "crtobj",
|
||||||
stl: "none",
|
stl: "none",
|
||||||
compile_multilib: "both",
|
compile_multilib: "both",
|
||||||
|
sanitize: {
|
||||||
|
never: true,
|
||||||
|
},
|
||||||
arch: {
|
arch: {
|
||||||
arm64: {
|
arm64: {
|
||||||
srcs: ["arm64/lib/crtobj.o"],
|
srcs: ["arm64/lib/crtobj.o"],
|
||||||
@@ -367,6 +373,9 @@ cc_prebuilt_object {
|
|||||||
prefer: false,
|
prefer: false,
|
||||||
stl: "none",
|
stl: "none",
|
||||||
compile_multilib: "both",
|
compile_multilib: "both",
|
||||||
|
sanitize: {
|
||||||
|
never: true,
|
||||||
|
},
|
||||||
arch: {
|
arch: {
|
||||||
arm64: {
|
arm64: {
|
||||||
srcs: ["arm64/lib/crtobj.o"],
|
srcs: ["arm64/lib/crtobj.o"],
|
||||||
|
Reference in New Issue
Block a user