bp2build conversion for Sanitize.Integer_overflow

and Sanitize.Misc_undefined.

This is a redo of aosp/2277186 with changes to account for issues
in mixed builds. Specifically, for now we're disabling mixed builds
for modules that use ubsan. This bug tracks enabling it:
b/261058727.

Bug: 253428057
Test: Unit tests
Change-Id: Ia1277a7fa9a82f40998d7f3d2c40ea90f38201e7
This commit is contained in:
Trevor Radcliffe
2022-10-28 16:48:18 +00:00
parent 87c149dccb
commit db7e0263f4
6 changed files with 377 additions and 4 deletions

View File

@@ -1873,8 +1873,11 @@ func (c *Module) IsMixedBuildSupported(ctx android.BaseModuleContext) bool {
return false
}
// Enable mixed builds as long as the cc_* module type has a bazel handler.
return c.bazelHandler != nil
// TODO(b/261058727): Remove this (enable mixed builds for modules with UBSan)
ubsanEnabled := c.sanitize != nil &&
((c.sanitize.Properties.Sanitize.Integer_overflow != nil && *c.sanitize.Properties.Sanitize.Integer_overflow) ||
c.sanitize.Properties.Sanitize.Misc_undefined != nil)
return c.bazelHandler != nil && !ubsanEnabled
}
func (c *Module) ProcessBazelQueryResponse(ctx android.ModuleContext) {