Commit Graph

41494 Commits

Author SHA1 Message Date
Primiano Tucci 90ebe5baf2 Add perfetto daemons and cmdline client to core makefiles
Perfetto is a tracing daemon that allows both to capture
traces from the kernel (via the traced_probes binary)
and allows data to be pushed from userspace (via the
traced binary). Tracing is never enabled by default
and can be kicked off either via statsd or by the shell.
The daemon executables are split only for the sake
of security and isolating SELinux domains. Under the
hoods they are just two shells that run code in the
same shared libarary.
See go/perfetto-sys-health-details for expected
binary / memory / overhead impact.

Bug: 72484603
Test: builds (see go/perfetto-test-spec for test plan)
Change-Id: Ib5fbd7cd2113010398802b622363b75f3eef738d
2018-01-25 15:32:11 +00:00
Nicolas Geoffray 3a011d4f9c Merge "For prebuilts, use the built_module for nostripping dexpreopt."
am: f90b7e1948

Change-Id: Id975f2ebaf3ce0f7e59544c47dc0a9ed80b0e2bb
2018-01-25 15:17:56 +00:00
David Brazdil f167eac95e Merge "Add hidden API list file variables"
am: a5cc50ab4c

Change-Id: I1f6855936dd9a3ec952f7c43695891216ecd242a
2018-01-25 15:04:45 +00:00
David Brazdil b7f00ed2af Apply hiddenapi build tool on boot jars
Restrictions on usage of private APIs require encoding new information
into the dex files of the boot class path. ART now contains a new build
tool called `hiddenapi` which takes three lists of class member
signatures (blacklist, light and dark greylist), finds the class members
in their respective dex files and modifies their access flags in place.

This patch invokes the `hiddenapi` tool on all JARs in
PRODUCT_BOOT_JARS. For Java libraries built with Makefiles the tool is
invoked after the dexer directly on DEX files. For Soong-built
libraries, the build system has to unzip the JAR produced by Soong,
apply `hiddenapi` and rezip again. This is due to the fact that the
PRODUCT_BOOT_JARS variable is not available to Soong.

Bug: 64382372
Test: m
Change-Id: I6ce897d204459c8b6f46ed49e0909ff76c08a9ed
2018-01-25 09:22:08 +00:00
Nicolas Geoffray f90b7e1948 Merge "For prebuilts, use the built_module for nostripping dexpreopt." 2018-01-25 08:58:48 +00:00
David Brazdil a5cc50ab4c Merge "Add hidden API list file variables" 2018-01-25 07:55:35 +00:00
Jaekyun Seok 039e0991d5 Merge "Support /product partition"
am: 8fe7f9bfa2

Change-Id: I3ee5e565f9855b1b14883355b8a048cd9f67da00
2018-01-25 04:04:19 +00:00
Jaekyun Seok 8fe7f9bfa2 Merge "Support /product partition" 2018-01-25 03:53:37 +00:00
Alexey Polyudov 683fa28a6a Merge "Fix syntax error in makefile soong namespaces handling"
am: 01b873b2de

Change-Id: I89e497c99ecfba460a1466506b46b2a56bae5087
2018-01-25 03:43:03 +00:00
Alexey Polyudov 01b873b2de Merge "Fix syntax error in makefile soong namespaces handling" 2018-01-25 03:33:58 +00:00
Tri Vo 09f34add81 Merge "healthd: fix /sys denials."
am: 88114b0b0b

Change-Id: Ia51a4d5f0daa61e65d37c98f6015203204a3e1dc
2018-01-25 02:51:24 +00:00
Treehugger Robot 88114b0b0b Merge "healthd: fix /sys denials." 2018-01-25 02:01:58 +00:00
Dan Willemsen f5e4f21831 Merge "Add Nan to OWNERS"
am: 11e95dedd2

Change-Id: Ia897d9acd6857941f4247b08b9c5fcc7e02fba31
2018-01-25 01:09:39 +00:00
Alexey Polyudov ea55e8c86c Fix syntax error in makefile soong namespaces handling
Change-Id: I5254f7877422e23f3c3b69f37f1be849a12e296a
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2018-01-24 17:01:21 -08:00
Jaekyun Seok b7735d8105 Support /product partition
This CL adds the following build flags to support building product partition
from Android build system.
- BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS
- BOARD_AVB_PRODUCT_KEY_PATH
- BOARD_AVB_PRODUCT_ALGORITHM
- BOARD_AVB_PRODUCT_ROLLBACK_INDEX_LOCATION
- BOARD_PREBUILT_PRODUCTIMAGE
- BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT
- BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE
- BOARD_PRODUCTIMAGE_PARTITION_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_BLOCK_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR_OPT
- BOARD_PRODUCTIMAGE_SQUASHFS_DISABLE_4K_ALIGN
- BOARD_USES_PRODUCTIMAGE
- LOCAL_PRODUCT_MODULE
- PRODUCT_FOOTER_ARGS
- PRODUCT_PRODUCT_BASE_FS_PATH
- PRODUCT_PRODUCT_VERITY_PARTITION
- TARGET_COPY_OUT_PRODUCT
- TARGET_OUT_PRODUCT*

And PRODUCT_PRODUCT_PROPERTIES is added to save product-specific
properties in /product/build.prop.

Bug: 64195575
Test: succeeded building product.img with BOARD_PRODUCTIMAGE_PARTITION_SIZE,
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE and PRODUCT_PRODUCT_VERITY_PARTITION.

Change-Id: I774e6a38003734421591e51bed103802ff84f432
2018-01-25 09:33:58 +09:00
Treehugger Robot 11e95dedd2 Merge "Add Nan to OWNERS" 2018-01-25 00:31:49 +00:00
David Brazdil ae6915ead0 Add hidden API list file variables
Add variables for the hidden API blacklist and dark and light greylist
files. These are text files with signatures of boot class path class
member with restricted access for non-platform code.

Bug: 64382372
Test: m
Change-Id: I5639c5269872ac626efc69bd3a374a7a7125d502
2018-01-24 20:48:54 +00:00
Tri Vo 82ca9a743a Fix /sys denials.
Labeled files linked from /sys/class/{rtc, net}.
Fixes these denials:
avc: denied { read } for pid=6413 comm="system_server" name="hctosys"
dev="sysfs" ino=10068 scontext=u:r:system_server:s0
tcontext=u:object_r:sysfs:s0 tclass=file permissive=0

avc: denied { write } for pid=4785 comm="Binder:4785_2" name="mtu"
dev="sysfs" ino=9213 scontext=u:r:netd:s0 tcontext=u:object_r:sysfs:s0
tclass=file permissive=0

Test: files labeled as expected; emulator boots without above denials.
Change-Id: I8fd8cc993ede0ddfd4404c0647a60da4867ef128
2018-01-24 12:39:47 -08:00
Tri Vo 30a532a1bf healthd: fix /sys denials.
Label /sys/class/power_supply/* appropriately and give healthd read
permissions to that directory.

Fixes this denial:
avc: denied { read } for pid=1386 comm="healthd" name="power_supply"
dev="sysfs" ino=2562 scontext=u:r:healthd:s0
tcontext=u:object_r:sysfs:s0 tclass=dir permissive=0

Bug: 72437093
Test: emulator boots with no denials from healthd
Change-Id: Ie3853cb5e9167fcd70f393ff589971ad6212c580
2018-01-24 11:13:22 -08:00
Nicolas Geoffray e3e19f0dfa For prebuilts, use the built_module for nostripping dexpreopt.
Earlier, we would use the prebuilt directly, which doesn't go through
build optimizations like uncompressing the dex files.

bug: 63920015
Test: m -j32 && verify priv-apps prebuilt's vdex don't contain
      the dex code.

Change-Id: I1a69d3b6832e3a940616f71a95c13091a4220b4b
2018-01-24 15:20:33 +00:00
Jin Qian b6ff980ba5 Merge "Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4"
am: 082837365d

Change-Id: I648961560f05beecc5e7c88ab23b440d500c3fc6
2018-01-24 04:17:31 +00:00
Treehugger Robot 082837365d Merge "Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4" 2018-01-24 04:10:42 +00:00
Jiyong Park b50e47cbc4 Merge "Don't use old VNDK and SystemSDK versions for new devices"
am: 3fcaecec8a

Change-Id: I7b90cb48f3ee95a101b7789a3aaaa606a187d44e
2018-01-24 02:34:47 +00:00
Treehugger Robot 3fcaecec8a Merge "Don't use old VNDK and SystemSDK versions for new devices" 2018-01-24 02:25:38 +00:00
Jiyong Park 95f9313445 Don't use old VNDK and SystemSDK versions for new devices
We need to prevent vendors from using old VNDK and SystemSDK versions
for newly launched device. Otherwise, deprecating old versions of the
APIs would be really difficult.

Specifically, it is enforced that

PRODUCT_SHIPPING_API_LEVEL <= BOARD_VNDK_VERSION

PRODUCT_SHIPPING_API_LEVEL <= min(BOARD_SYSTEMSDK_VERSIONS)

Bug: 72126206
Test: manually setting BOARD_VNDK_VERSION to 24 in
device/google/wahoo/BoardConfig.mk and choosecom to walleye
Test: m -j shows an error on BOARD_VNDK_VERSION
Test: BOARD_SYSTEMSDK_VERSION="25 26" m -j shows an error on
BOARD_SYSTEMSDK_VERSION

Change-Id: I17646487a9c77a6a5110749e22ba47f0f75920cf
2018-01-24 09:59:09 +09:00
Justin Yun 7a6fafb42e Merge "Install ld.config.noenforce.txt instead of copying it"
am: 37cc632f81

Change-Id: I1cb7c34d8f4d8cd3d363b706a723fdfb6725c965
2018-01-23 22:58:29 +00:00
Treehugger Robot 37cc632f81 Merge "Install ld.config.noenforce.txt instead of copying it" 2018-01-23 22:50:09 +00:00
Tianjie Xu 759dcbd1ed Merge "Don't check the stderr output from bsdiff/imgdiff"
am: 07a4299182

Change-Id: I3f237e1bb6e000b5bd98d6653c7d53e454a3c3e6
2018-01-23 18:39:01 +00:00
Jiyong Park 4de1dc97c0 Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS"
am: ae891fb19e

Change-Id: I7823d7c0b97fd2f7b3d2f757b3dc76ef848eea7d
2018-01-23 18:38:09 +00:00
Badhri Jagan Sridharan a5d0ec68bf Merge "Build usbd"
am: c8cdf75d1b

Change-Id: I187f1f262f3feba3b6210e4f0994c9aa05bf4cc7
2018-01-23 18:33:24 +00:00
Justin Yun e3a7b1b4ca Install ld.config.noenforce.txt instead of copying it
ld.config.noenforce.txt is defined as a module.
For GSI, install the module instead of copying it.

Bug: 70704112
Bug: 70603313
Test: Build GSI and boot on Android-P sailfish device
Change-Id: I894921fa3089411f60d1b4f58ad48e9aa25a519b
2018-01-23 16:13:33 +09:00
Tianjie Xu 07a4299182 Merge "Don't check the stderr output from bsdiff/imgdiff" 2018-01-23 06:10:46 +00:00
Treehugger Robot ae891fb19e Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" 2018-01-23 03:35:19 +00:00
Badhri Jagan Sridharan c8cdf75d1b Merge "Build usbd" 2018-01-23 03:09:27 +00:00
Yifan Hong 1738a2315a Merge "Add System SDK Versions to VINTF."
am: c4d2725fc6

Change-Id: I4e634fdeecbb1201514b0cc979eb7706513f653a
2018-01-23 03:07:33 +00:00
Yifan Hong c4d2725fc6 Merge "Add System SDK Versions to VINTF." 2018-01-23 02:57:29 +00:00
Tianjie Xu a2a9f9990f Don't check the stderr output from bsdiff/imgdiff
bsdiff/imgdiff returns non-zero values correctly in case of failures.
So we don't need to check the stderr anymore. This avoids some false
reports of the diff program.

Bug: 72335938
Bug: 71505046
Test: Check the exit value of bsdiff/imgdiff in code search,
      generate a package for angler.

Change-Id: I18f0c3882a40a5288d6aee715713a05270e0db2b
2018-01-23 01:29:56 +00:00
Jin Qian fde9f7906b Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4
This option applies to system.img and vendor.img.

Bug: 64109868
Change-Id: Ib4c7384049dca08e57441ef71cc81c2fba4462dd
2018-01-22 17:21:11 -08:00
Yifan Hong 5ff1f0a38a Add System SDK Versions to VINTF.
Add PLATFORM_SYSTEMSDK_VERSIONS to framework manifest
and BOARD_SYSTEMSDK_VERSIONS to device comp matrix.

Test: m framework_manifest.xml -j
Test: BOARD_SYSTEMSDK_VERSIONS=P m device_compatibility_matrix.xml -j

Bug: 69088799
Change-Id: I0b5ac6f1c2802c353b2989b017c1cdfc9fe27987
2018-01-22 14:18:16 -08:00
Steven Moreland ec92f0e5cd Merge "Add 'blank_screen' to embedded.mk."
am: 9b8fc9e3c2

Change-Id: Ie416c988e8273fba9be5cb7cad9799159d48c76c
2018-01-22 20:35:05 +00:00
Treehugger Robot 9b8fc9e3c2 Merge "Add 'blank_screen' to embedded.mk." 2018-01-22 20:27:17 +00:00
Nicolas Geoffray abfb75d66f Merge "Don't strip for eng builds."
am: 12c68db516

Change-Id: I7eb2b83ae67a10e0fce727a7aefbb7025c63233b
2018-01-22 19:58:33 +00:00
Treehugger Robot 12c68db516 Merge "Don't strip for eng builds." 2018-01-22 19:51:12 +00:00
Tao Bao 9704dddd1f Merge "releasetools: Add PayloadSigner class."
am: 8413824f4b

Change-Id: I887444e9df1a3ebd5af3e3ce82128a5f4d43cae9
2018-01-22 19:02:39 +00:00
Treehugger Robot 8413824f4b Merge "releasetools: Add PayloadSigner class." 2018-01-22 18:54:57 +00:00
Nicolas Geoffray ed6ee7b64d Don't strip for eng builds.
bug: 72150787
Test: m
Change-Id: Ifdd403dfecb440e32c4d0c00a7543820b2098359
2018-01-22 15:07:37 +00:00
Nicolas Geoffray ef29a15ac4 Merge "Tighter control of stripping in dex_preopt_odex_install."
am: ec1fdc8813

Change-Id: Iafe80b87b7054eebefba798b8debdb48e850d61a
2018-01-22 13:44:22 +00:00
Nicolas Geoffray ec1fdc8813 Merge "Tighter control of stripping in dex_preopt_odex_install." 2018-01-22 13:37:56 +00:00
Tobias Thierer 38d784f152 Merge "Experimental feature: LOCAL_PATCH_MODULE option in .mk files."
am: 4bb18a8a2e

Change-Id: If15fe3baba14c347be5ac1db668ada41db5da816
2018-01-22 11:37:48 +00:00
Tobias Thierer 4bb18a8a2e Merge "Experimental feature: LOCAL_PATCH_MODULE option in .mk files." 2018-01-22 11:34:18 +00:00