commit | c2d7db1c7d650ec6b1ca006812404c8fd4bcf01e | [log] [tgz] |
---|---|---|
author | Ivan Lozano <ivanlozano@google.com> | Tue Jan 09 09:56:54 2018 -0800 |
committer | Ivan Lozano <ivanlozano@google.com> | Tue Jan 16 10:17:02 2018 -0800 |
tree | 08a208bbbbaf53dac87aea14c10730031862a1ca | |
parent | a7229a08b7c5d481cb813d810f1d88c3de3cdc8b [diff] |
Overflow sanitization in frameworks/ and system/. Enables signed and unsigned integer overflow sanitization on-by-default for modules in frameworks/ and system/ by using the integer_overflow sanitization setting. This applies sanitization to dynamically linked binaries and shared libraries, and comes with a default set of regex for functions to exclude from sanitization. (see build/soong/cc/config/integer_overflow_blacklist.txt) Prepare to enable minimal runtime diagnostics for integer overflow sanitization on userdebug and eng builds. Adds an additional Make and product variable pair to apply integer overflow sanitization by default to additional code paths. Bug: 30969751 Bug: 63927620 Test: Included paths are being sanitized. Test: CTS test suite run on Pixel, runtime errors resolved. Test: Performance impact in benchmarks acceptable. Test: Boot-up successful on current Google devices. Test: Teamfooded in diagnostics mode on Pixel for a month. Test: Phone calls, camera photos + videos, bluetooth pairing. Test: Wifi, work profiles, streaming videos, app installation. Test: Split-screen, airplane mode, battery saver. Test: Toggling accessibility settings. Change-Id: Icc7a558c86f8655267afb4ca01b316773325c91a
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.