Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5c0b119 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Propagate sanitize.never flag in SDK snapshots." am: e819bec2

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1406917

Change-Id: Ia8a02f8570ca0619c1b4696aa72c2dd1a2a393ee
parents 380c6792 e819bec2
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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 {
+9 −0
Original line number Diff line number Diff line
@@ -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"],