Commit graph

47569 commits

Author SHA1 Message Date
Ivan Lozano
5fb2de7086 Add make var to avoid recovering with diagnostics.
Add a LOCAL_SANITIZE_NO_RECOVER variable that allows specifying which
sanitizers running in diagnostics mode shouldn't recover. This can help
debugging as we test enabling sanitizers in new libraries since it'll
cause tombstones to be generated along with the diagnostics information.

Bug: 80195448
Bug: 110791537
Test: Compiled test module with this flag, checked compiler command.
Test: Test module crashed, tombstone contained diagnostics information.
Change-Id: I441b9c873e54bf6404325f4d0ac59835350c2889
2018-12-12 10:22:30 -08:00
Nicolas Geoffray
1e57a89bf9 Merge "Remove perfprofd from set of binaries installed on system." 2018-12-12 13:09:55 +00:00
Treehugger Robot
53de7a71f6 Merge "Add recovery_acpio option to make recovery image" 2018-12-12 08:13:46 +00:00
Nicolas Geoffray
1bc5aff793 Remove perfprofd from set of binaries installed on system.
Needed to get some space on marlin-eng :(

Also avoids static linking libart into perfprofd. Roland will follow-up by reverting the no-perfprofd changes.

bug: 73175642

Test: lunch marlin-eng && m -j32
Change-Id: Ic1c79c6dd1052981801b92604f9891a8a63b4ea0
2018-12-11 23:00:57 +00:00
Treehugger Robot
5e5cf8e17d Merge "Rename _complete-android-module-names" 2018-12-11 19:46:20 +00:00
Tianjie Xu
b38ae44d1e Merge "recovery text image: use zopflipng to compress the generated images" 2018-12-11 18:56:20 +00:00
dimitry
73b8481edf Rename _complete-android-module-names
A function name with dashes is apparently not universally recognized
by shell versions/variants(?). Using underscore in place of dashes
solves this problem.

Test: ./development/vndk/tools/header-checker/utils/create_reference_dumps.py -l libGLESv1_CM
Change-Id: Id7d701600760140dae9e4762a11f4abd64947d10
2018-12-11 18:06:00 +01:00
Jeff Sharkey
0262df76b6 Merge "Bump PREVIEW_SDK_INT for Q builds." 2018-12-11 16:11:28 +00:00
Chen, ZhiminX
752439b321 Add recovery_acpio option to make recovery image
Test: can generate recovery image with recovery_acpio
Fixes: 111871613

Change-Id: I9174a4741f571a00bcadc548cd9e1316b4175132
2018-12-11 15:23:28 +08:00
xunchang
cc57d31c91 recovery text image: use zopflipng to compress the generated images
Generate the images for recovery's wipe data menu. And use the lossless
tool zopflipng to compress the generated image. This saves space
in the boot image at the cost of the increase of build time. In practice,
it adds about ~20 seconds to build the bootimage with 32 threads.

zopflipng generally runs slower. Even with a predefined filters
strategy, it runs about 3 times slower than pngcrush, e.g. ~40s vs 15s
to compress a 1.8M png file. However, zopflipng also gives a better
compression: ~1.4M vs 1.6M for the same image. So I guess the time
consumption is a price worth paying.

Bug: 74397117
Test: build the bootimage and check the resource images
Change-Id: I3e71f8bedd3c183a3374b1a9464bf05500e1aa61
2018-12-10 19:53:38 -08:00
Jeff Sharkey
f7d482bd9a Bump PREVIEW_SDK_INT for Q builds.
We've already added new APIs in Q, so we shouldn't be claiming a
value of "0", which signals a production platform release.

Bug: 120797950
Test: manual
Change-Id: I6c9063ac4ace79b3ee6b1c67ccdf76f4063ad165
2018-12-10 17:13:24 -07:00
Tianjie Xu
19e6502884 Merge "Generate the recovery text images at build time" 2018-12-10 19:41:43 +00:00
Nicolas Geoffray
e3f39cd81e Merge "Factor out common code." 2018-12-10 12:50:54 +00:00
Chih-hung Hsieh
0252d6e5cf Merge "Allow the include directive." 2018-12-07 23:31:14 +00:00
Chih-Hung Hsieh
651294908f Allow the include directive.
* The include directive is ignored for now here.

Bug: 112259977
Test: ./checkowners.py  -v -c OWNERS
Change-Id: I671f3643ea88e50aea0957db59c36f10bff3b92d
2018-12-07 14:29:38 -08:00
Treehugger Robot
f37236df5f Merge "Don't build super image if source images are missing" 2018-12-07 21:30:57 +00:00
Treehugger Robot
4ea66801b2 Merge "Add functions to jump to specific modules." 2018-12-07 20:47:40 +00:00
Yifan Hong
e98427ac3f Don't build super image if source images are missing
For some internal branches, vendor.img isn't built, so there
is no need to build super image / super split images there.

Test: remove vendor.img and VENDOR/ from target_files_intermediates, then
      run add_img_to_target_files
Fixes: 120634805

Change-Id: I2834a27ce232538f203733c204dd257279c789fc
2018-12-07 11:01:21 -08:00
Treehugger Robot
e717da446b Merge "fs_config: add product and product_services" 2018-12-07 16:52:04 +00:00
Nicolas Geoffray
ed167cf814 Factor out common code.
Test: m
Change-Id: If718c281656a890fb5eba54eb290976c153e2bb6
2018-12-07 14:35:52 +00:00
Nicolas Geoffray
923f267bf6 Merge "Use the final APK for dexpreopt when it's not stripped." 2018-12-07 14:13:45 +00:00
Steven Moreland
62054a43fa Add functions to jump to specific modules.
Usage:
...aosp/$ gomod libbase
...aosp/system/core/base$

Using in alias:
alias g=gomod
complete -F _complete-android-module-names g

...aosp/$ g libbase
...aosp/system/core/base$

Nothing in Android keeps an up to date index of all Android modules
and their locations between builds. However, there is a target
'module-info.json' which is used to contain some of that information.
This module can be updated using the command 'refreshmod' added
here, but it will also be updated during a normal Android build.

This also adds auto-complete for m.

Bug: N/A
Test: manual
Change-Id: I06b0b87c308b9fe2798dbc29225906cc30fe59fe
2018-12-06 18:28:50 -08:00
Nicolas Geoffray
d80f9c0d32 Use the final APK for dexpreopt when it's not stripped.
The final APK may contain compressed or uncompressed dex files,
and this affects dex2oat compilation.

Test: build sailfish, test that SystemUI.vdex and Settings.vdex
don't have the dex code.

Change-Id: Ic032f61ed67dcdf342f6eaef71d805b89d6fc99a
2018-12-07 00:19:57 +00:00
Mark Salyzyn
cf343a6d1e fs_config: add product and product_services
Mechanical extension of mount directories to also support product/
and product_services/ as individually supplied images.

NB: In the distant past, a prototype placing the make rules into a
    macro was rejected as too difficult to maintain within the macro
    rules, so rules are rolled-out to make them easy to understand.

Test: compile
Bug: 119310326
Change-Id: Ief137cbe62db7175ee02275804ff1d644858dc3d
2018-12-06 22:13:26 +00:00
Tao Bao
70edcab678 Merge "releasetools: Keep the original RangeSet for 'uses_shared_blocks' case." 2018-12-06 21:31:28 +00:00
Andreas Gampe
ab459af5b5 Merge "Build: Add test apex keys to debug product packages" 2018-12-06 19:13:56 +00:00
Tao Bao
2a20f344fc releasetools: Keep the original RangeSet for 'uses_shared_blocks' case.
Setting 'uses_shared_blocks' indicates that the block list for a given
file is incomplete, as some of the blocks are "owned" by others. As a
result, such a file will be skipped from imgdiff'ing.

This CL makes a copy of the original block list before removing the
shared blocks. It uses the original RangeSet as the value of
extra['uses_shared_blocks']. validate_target_files.py will try to read
the file as in the original RangeSet, unless the original list is also
incomplete or has non-monotonic ranges.

Test: Run validate_target_files on a target that uses
      `BOARD_EXT4_SHARE_DUP_BLOCKS := true`.
Change-Id: I259e871ecc249ba0c14b5796bef413185a1b8242
2018-12-06 10:28:49 -08:00
Tianjie Xu
81c88ad58b Generate the recovery text images at build time
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
2018-12-06 01:10:38 -08:00
Vic Yang
4379a28921 Merge "Move android_ids from .data.rel.ro to .rodata" 2018-12-06 06:04:23 +00:00
Treehugger Robot
696dd3bd93 Merge "[make] Disable CFI when building with HWASan." 2018-12-05 22:00:21 +00:00
Chih-hung Hsieh
a441818a10 Merge "Disable implicit-integer-sign-change by default." 2018-12-05 18:24:12 +00:00
Anton Hansson
6983776cdb Merge "Add RRO partition specification in Makefiles" 2018-12-05 14:43:19 +00:00
Vic Yang
5b3a7c0069 Move android_ids from .data.rel.ro to .rodata
Pages in .data.rel.ro are always dirty.  Move whatever we can to
.rodata so that we reduce memory pressure.

The size of rodata, text, and data.rel.ro sections of libc on cuttlefish
before/after this change:
    rodata: 0xfd70 -> 0x101d0 (+1120 bytes)
    text: 0xb5715 -> 0xb56e5 (-48 bytes)
    data.rel.ro: 0x57e0 -> 0x5230 (-1456 bytes)

While this change alone doesn't reduce the number of dirty pages
from data.rel.ro on cuttlefish, it is a step in that direction.

Test: Build and boot cuttlefish
Change-Id: Iff8203940495109dd01c40f31b034cfb2882e7f4
2018-12-05 00:10:19 -08:00
Evgenii Stepanov
88a95a35fa [make] Disable CFI when building with HWASan.
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
2018-12-05 01:15:01 +00:00
Yifan Hong
5df29604b9 Merge changes from topic "super_target_files"
* changes:
  add_img_to_target_files uses build_super_image
  Build super_empty with build_super_image.py
  Build super.img from images in target_files
2018-12-04 23:20:21 +00:00
Ryan Mitchell
8dd846c45f Add RRO partition specification in Makefiles
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
2018-12-04 20:53:29 +00:00
Chih-Hung Hsieh
1871062b28 Disable implicit-integer-sign-change by default.
* 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
2018-12-04 19:52:14 +00:00
Treehugger Robot
5cf5594818 Merge "Audio VNDK: add V5 HIDL libraries" 2018-12-04 17:44:07 +00:00
Anton Hansson
4a46570ff2 Merge "Reenable avb for mainline" 2018-12-04 17:22:25 +00:00
Anton Hansson
de6f4cfdc8 Reenable avb for mainline
Partial rollback of Id5d114bde8b93800fe52c791ccc47cdffd86f382.

It is likely mainline also wants some of the BOARD_AVB_SYSTEM.. flags,
but I'm not entirely sure which ones.

Test: run build_mixed with this patch
Change-Id: I6ef3c01f6c74e6d93cf798b26b8c7a4785bbefb4
2018-12-04 16:56:33 +00:00
Treehugger Robot
ed9baf88dd Merge "AIDEGen: Adopt prebuilt mechanism to bypass 'm aidegen'." 2018-12-04 09:29:14 +00:00
Haibo Huang
79dddb45bf Merge "Remove denver64 from make" 2018-12-03 23:12:50 +00:00
Haibo Huang
6201b9eb5a Remove denver64 from make
Test: build
Bug: 73545680
Change-Id: I8f28c7d6beaa5b0a7de9000ebea2f4d8e87f0381
2018-12-03 22:34:11 +00:00
Yifan Hong
055e6cf5c8 add_img_to_target_files uses build_super_image
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
2018-12-03 11:33:44 -08:00
Yifan Hong
8b79d168eb Build super_empty with build_super_image.py
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
2018-12-03 11:33:44 -08:00
Yifan Hong
2b891ac024 Build super.img from images in target_files
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
2018-12-03 11:33:44 -08:00
Pirama Arumuga Nainar
539b58a55b Merge "Use libucrt instead of libmsvcr110" 2018-12-03 17:53:43 +00:00
Anton Hansson
c0f0c2094d Merge "Split GSI and mainline board configs" 2018-12-03 11:16:30 +00:00
Kevin Rocard
693dc9a53f Audio VNDK: add V5 HIDL libraries
Bug: 118203066
Test: compile
Change-Id: I830f9fac7a3a99f06b2112ae844bf7b3f6ad2888
Merged-In: I830f9fac7a3a99f06b2112ae844bf7b3f6ad2889
Signed-off-by: Kevin Rocard <krocard@google.com>
2018-12-02 18:21:11 -08:00
Jaewoong Jung
58b7f7480f Merge "Use debug mode when running R8 for eng builds." 2018-11-30 22:40:45 +00:00