We used to manually generate the background text images for recovery. That
process requires opening various emulators and takes a long time. Now that
the host Java tool is ready to generate these images, we can embed the
generation step into the build of the recovery image.
Since there's currently no make variable that defines screen width of the
device, we put the commonly used values for pixels here, i.e. 1440 for
xxxhdpi and 1080 for xxhdpi. Devices with other dpi can still use this
feature if they define the screen width in their config files.
Test: build bootimage with screen with set/unset
Change-Id: Ic8389a527e6e7194de58a9c50763e841e886652b
Same as soong. This needs do match, otherwise, for example, CFI may be
disable in a static library in soong, and left enabled in a shared
library in make; that would not work as CFI only supports DSO granularity.
Bug: 120508119, 112709969
Change-Id: I00d6b1c9c373bcb6804c135407c6eeae88b375b6
Test: hwasan build of master branch boots
This adds support for overlays to be placed in the product and
product_services partitions.
LOCAL_VENDOR_MODULE := true #/vendor/overlay
LOCAL_ODM_MODULE := true #/vendor/odm/overlay
LOCAL_PRODUCT_MODULE := true #/system/product/overlay
LOCAL_PRODUCT_SERVICES_MODULE := true #
/system/product_services/overlay
Bug: 110869880
Test: built overlay with different partitions and verified correct apk
location
Change-Id: I21f594e784a18cf59f4ff03c00e30b463ec85008
* New clang compiler makes some integer santizers enabling
implicit-integer-sign-change, but Android code does not
boot with this new sanitizer yet.
Bug: 119329758
Test: build and boot with new clang compiler
Change-Id: Ic80cde49d3ef51277fbe2a0aa8c1b8f2f8bfd80c
Use the new script to build super_empty and super split images. No more
transformation to lpmake_args.
Test: build target_files_package for retrofit device
Change-Id: Id5f6bd607654ca869bcdf58d86b7ae300e3927eb
Use the script to build it to avoid having duplicate logic in
build-superimage-target-args and build_super_image.py
Test: build it
Change-Id: I82f74d56d744c5f5b8dd38d41fedd264b042bc7a
For non-retrofit (launch) devices, super.img is used for factory, so
source images should be from target_files.
In this change, build-superimage-target procedure is converted to a
more flexible script so that it can be built.
Bug: 119322123
Test: build target files for device launch with dynamic partitions
Change-Id: I6ee0cc3e145357dfc74be248f81f5f8f4e51fc5c
Bug: http://b/117796718
ucrt is either preinstalled in newer Windows or can be installed in
older Windows, whereas a dependence on msvcr110 doesn't work on Windows
without additional dependencies.
Test: Run generated binaries on Windows VM (7, 8, and 10) without
installing any extra dependencies.
Change-Id: If5a5ffaa9d822ca05b4b54896937f224103f33d7
Combine existing hiddenapi-* txt files into a single CSV containing
a list of all class members and their corresponding flags.
Test: m, phone boots
Change-Id: I67f1b5f331b262e9b681d9a3c78c9e4cbb5ea082
ODM can already be built with dynamic sizes (in that
build_image.py builds it correctly). Add it to the list of
valid dynamic partitions.
Test: builds
Change-Id: Ib5d1348530d2120e3af7dbe422ac3ebe6149b4fb
Fixes: 120047099
Pass --avoid-storing-invocation to dex2oat, which will remove the
command line from the final .odex files. This will help make the
.odex files reproducible across devices and build system changes,
simplifying comparisons.
Bug: 119412419
Test: m checkbuild
Change-Id: I46cedadab9a87addc0f9e35f7bbe578beae1df60
This was only needed for pushing first stage init to the recovery
image. This isn't actually needed however, as the recovery image can
be fully shared and can run full init as long as there is a symlink
from /init to /system/bin/init, so that is added instead.
Bug: 80395578
Test: boot to recovery via this symlink
Change-Id: I8910543525a841401b209bfd98af30c5a0dc2688
AArch64 execute-only memory is only supported when using lld as the
linker. There's still a few modules which don't use lld, so in those
cases we need to disable this option.
Bug: 77958880
Test: Module with LOCAL_USE_CLANG_LLD false builds without XOM
Test: Module without LOCAL_USE_CLANG_LLD defined builds with XOM
Change-Id: I5dfe3cd1e1cac2b3ead13912af9f7fe896d507e9
Only use one consecutive tab in make rules and use spaces
for any additional indentation. This should generally prevent
tabs from appearing on the cmdline.
This cl is the result of 3 regex replaces:
\\\n\t\t([^\t]) -> \\\n\t \1
\\\n\t\t\t([^\t]) -> \\\n\t \1
\\\n\t\t\t\t([^\t]) -> \\\n\t \1
Test: make mainline_system_arm64
Change-Id: Ic3f72deed35e39e4b1a4b492db65aeabc5bef0d5
Like TARGET_SYSTEM_PROP, but is merged into /product/build.prop.
Also change the formatting of the output of both of these macros
slightly, so make the start and end clearer.
Bug: 119911662
Test: migrate downstream products to use this
Change-Id: Iddae7aac3c51b5706f3fb2690c5ca5a98840ad34
Adds build system support for generating AArch64 binaries with
execute-only memory layouts via a new LOCAL_XOM property. Also adds
support for an ENABLE_XOM build flag for global builds.
Bug: 77958880
Test: make -j ENABLE_XOM=true
Change-Id: I6af9e3615d0a9fdff802eae50e6ad94311ec8046
When PRODUCT_RETROFIT_DYNAMIC_PARTITIONS is empty, collapse-pairs will
write this line to build.prop:
ro.boot.dynamic_partitions=ro.boot.dynamic_partitions_retrofit=
... which is not what we want.
Test: build without dynamic partitions
Change-Id: I04c3c75fad20604657814b7f9cce2cc0635627ee
Test: with this is true, build
`verified_assembled_system_matrix.xml`;
file includes kernel requirements
Change-Id: I833b4fefabefb2f0457171055afe5722981e3589