Merge "Propagate sanitize.never flag in SDK snapshots."
This commit is contained in:
commit
e819bec240
2 changed files with 21 additions and 0 deletions
|
@ -212,6 +212,11 @@ var includeDirProperties = []includeDirsProperty{
|
|||
// Add properties that may, or may not, be arch specific.
|
||||
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.
|
||||
if libInfo.outputFile != nil {
|
||||
nativeLibraryPath := nativeLibraryPathFor(libInfo)
|
||||
|
@ -359,6 +364,9 @@ type nativeLibInfoProperties struct {
|
|||
// not vary by arch so cannot be android specific.
|
||||
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 android.Path
|
||||
}
|
||||
|
@ -405,6 +413,10 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
|
|||
if ccModule.HasStubsVariants() {
|
||||
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 {
|
||||
|
|
|
@ -340,6 +340,9 @@ func TestSnapshotWithObject(t *testing.T) {
|
|||
cc_object {
|
||||
name: "crtobj",
|
||||
stl: "none",
|
||||
sanitize: {
|
||||
never: true,
|
||||
},
|
||||
}
|
||||
`)
|
||||
|
||||
|
@ -352,6 +355,9 @@ cc_prebuilt_object {
|
|||
sdk_member_name: "crtobj",
|
||||
stl: "none",
|
||||
compile_multilib: "both",
|
||||
sanitize: {
|
||||
never: true,
|
||||
},
|
||||
arch: {
|
||||
arm64: {
|
||||
srcs: ["arm64/lib/crtobj.o"],
|
||||
|
@ -367,6 +373,9 @@ cc_prebuilt_object {
|
|||
prefer: false,
|
||||
stl: "none",
|
||||
compile_multilib: "both",
|
||||
sanitize: {
|
||||
never: true,
|
||||
},
|
||||
arch: {
|
||||
arm64: {
|
||||
srcs: ["arm64/lib/crtobj.o"],
|
||||
|
|
Loading…
Reference in a new issue