OSDN Git Service

android-x86/build.git
7 years agoFix bug preventing multi-module native coverage.
Ryan Campbell [Mon, 17 Oct 2016 22:43:21 +0000 (15:43 -0700)]
Fix bug preventing multi-module native coverage.

Fix a whitespace bug causing coverage to be enabled on all modules
whenever more than one module is specified. This is caused by
comparing whitespace to the empty string, which are not equal. Fix
by stripping the output to check for path matches.

Test: tested using local build with coverage enabled on NFC, lights
Change-Id: I61a775cfd135f94ea1e1ee9fdbed3c64c5bb1a2e

7 years agoMerge "zipalign missing header"
Treehugger Robot [Mon, 17 Oct 2016 21:47:17 +0000 (21:47 +0000)]
Merge "zipalign missing header"

7 years agozipalign missing header
Mark Salyzyn [Mon, 17 Oct 2016 17:20:33 +0000 (10:20 -0700)]
zipalign missing header

Remove assumptions about header side effects

Test: compile
Bug: 30465923
Change-Id: I117567b0f99814b9d9a955b39c56f43f7972cf62

7 years agoMerge "Add more patterns for a finer project warning list."
Chih-hung Hsieh [Sat, 15 Oct 2016 01:36:59 +0000 (01:36 +0000)]
Merge "Add more patterns for a finer project warning list."

7 years agoMerge "build: tools: Add json collection of installed files with hashes."
Treehugger Robot [Sat, 15 Oct 2016 01:04:37 +0000 (01:04 +0000)]
Merge "build: tools: Add json collection of installed files with hashes."

7 years agobuild: tools: Add json collection of installed files with hashes.
Sasha Levitskiy [Tue, 11 Oct 2016 05:48:10 +0000 (22:48 -0700)]
build: tools: Add json collection of installed files with hashes.

Adds installed-files.json in addition to installed-files.txt
Further sorts the file list to be ordered within the same size bucket.

Test: manual, cross-checked checksums with sha256sum utility
      checked build outputs.

Bug: 19988819
Merged-in: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Change-Id: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Signed-off-by: Sasha Levitskiy <sanek@google.com>
7 years agoAdd more patterns for a finer project warning list.
Chih-Hung Hsieh [Fri, 14 Oct 2016 19:27:17 +0000 (12:27 -0700)]
Add more patterns for a finer project warning list.

Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: I3cad8e24bc97a84f067a162ff728e30fde3c7197

7 years agoMerge changes Ie3d82cfa,I2f808896,I587f400d
Alex Deymo [Fri, 14 Oct 2016 03:19:55 +0000 (03:19 +0000)]
Merge changes Ie3d82cfa,I2f808896,I587f400d

* changes:
  fat16copy: Fix allocation logic when extending directories.
  fat16copy: Sort new directory entries.
  Make fat16copy.py add . and .. entries to directories

7 years agoMerge "Generate SHA-1 build ID for host-generated *.oat files (2/2)."
David Srbecky [Thu, 13 Oct 2016 12:52:31 +0000 (12:52 +0000)]
Merge "Generate SHA-1 build ID for host-generated *.oat files (2/2)."

7 years agoMerge "Add -Werror to compile warning free projects."
Chih-hung Hsieh [Thu, 13 Oct 2016 00:42:01 +0000 (00:42 +0000)]
Merge "Add -Werror to compile warning free projects."

7 years agoMerge "Update droiddoc templates for build/make move"
Clay Murphy [Wed, 12 Oct 2016 18:34:23 +0000 (18:34 +0000)]
Merge "Update droiddoc templates for build/make move"

7 years agoMerge "Build: add preloaded-classes and compiled-classes dependency"
Treehugger Robot [Wed, 12 Oct 2016 18:30:11 +0000 (18:30 +0000)]
Merge "Build: add preloaded-classes and compiled-classes dependency"

7 years agoBuild: add preloaded-classes and compiled-classes dependency
Andreas Gampe [Wed, 12 Oct 2016 16:35:39 +0000 (09:35 -0700)]
Build: add preloaded-classes and compiled-classes dependency

Make the ART boot image compilation rule depend on the files
influencing the layout and contents of the image. Required for
incremental builds.

Bug: 32107291
Test: m
Test: echo "android.util.MutableChar" >> frameworks/base/compiled-classes-phone && m
Test: rm frameworks/base/compiled-classes-phone && m
Change-Id: I7b7438672460d8d9d2c8b08b8e7c3cbde8d07a1a

7 years agoMerge "Better pattern matching and dump of warning messages."
Treehugger Robot [Wed, 12 Oct 2016 16:35:34 +0000 (16:35 +0000)]
Merge "Better pattern matching and dump of warning messages."

7 years agoMerge "Normalize warning source file path to relative path."
Treehugger Robot [Wed, 12 Oct 2016 16:34:05 +0000 (16:34 +0000)]
Merge "Normalize warning source file path to relative path."

7 years agoUpdate droiddoc templates for build/make move
Dan Willemsen [Wed, 12 Oct 2016 07:10:33 +0000 (00:10 -0700)]
Update droiddoc templates for build/make move

Since build/ was moved to build/make/, the droiddoc templates now need
another ../ to reach the android root.

Test: m online-sac-docs
Change-Id: I2393f6c791df9b67ccafb4eb047fd8ccc52481cb

7 years agoMerge "PRODUCT_PACKAGES: add to tune2fs."
Jeff Sharkey [Wed, 12 Oct 2016 01:16:33 +0000 (01:16 +0000)]
Merge "PRODUCT_PACKAGES: add to tune2fs."

7 years agoAdd -Werror to compile warning free projects.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:38:39 +0000 (15:38 -0700)]
Add -Werror to compile warning free projects.

* Add -Werror if LOCAL_PATH is in the WARNING_DISALLOWED project list,
  or not in the WARNING_ALLOWED project list.

Test: Build for major targets.
Change-Id: I12235ee1ca1c1837530693699e705e1955275565

7 years agoBetter pattern matching and dump of warning messages.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:33:19 +0000 (15:33 -0700)]
Better pattern matching and dump of warning messages.

* Warning messages must start with source file path.
  This will reject lines containing only 'warning:'
  but not a source file path prefix.
* Escape both backslash and quotation marks in the
  dump of strings to JavaScript string literals.

Bug: 32060052
Test: run through build.log files
Change-Id: Ib064768b1ba2954f974604ea054f7a6d2ad15ae7

7 years agoNormalize warning source file path to relative path.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:30:26 +0000 (15:30 -0700)]
Normalize warning source file path to relative path.

Remove Android root directory path from long
absolute source file path.

Test: run warn.py with build.log
Bug: 32059187
Change-Id: Ib630cebd8c56a9fef443139ca502d97e59c7b42e

7 years agoMerge "Fix a nullness warning."
Treehugger Robot [Tue, 11 Oct 2016 19:29:36 +0000 (19:29 +0000)]
Merge "Fix a nullness warning."

7 years agoMerge "Fix an uninitialized value warning."
Treehugger Robot [Tue, 11 Oct 2016 02:43:46 +0000 (02:43 +0000)]
Merge "Fix an uninitialized value warning."

7 years agoFix an uninitialized value warning.
Yunlian Jiang [Wed, 5 Oct 2016 17:58:37 +0000 (10:58 -0700)]
Fix an uninitialized value warning.

Warning from the static analyzer:

build/tools/zipalign/ZipFile.cpp:503:5: warning: Function call argument
is an uninitialized value
pEntry->setDataInfo(uncompressedLen, endPosn - startPosn, crc,

Specifically, it's referencing `crc`, which would be uninitialized if we
hit either of these two error cases, since we'd return `NO_ERROR`.

Note that the warning is still there, but that's only because the static
analyzer can't see the asserts. If we #undef NDEBUG in the file, then
the warning disappears.

Bug: none
Test: With NDEBUG undefined, the warning is gone.
Change-Id: Iaed66127746c38add2c842ab027f2e1982d0e2fd

7 years agoMerge "Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true."
Treehugger Robot [Fri, 7 Oct 2016 19:44:37 +0000 (19:44 +0000)]
Merge "Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true."

7 years agoMerge "remove use of CTS_TESTCASES_OUT"
Guang Zhu [Fri, 7 Oct 2016 01:15:16 +0000 (01:15 +0000)]
Merge "remove use of CTS_TESTCASES_OUT"

7 years agoMerge "Use ASAN prebuilts if SANITIZE_HOST includes address"
Treehugger Robot [Fri, 7 Oct 2016 01:08:06 +0000 (01:08 +0000)]
Merge "Use ASAN prebuilts if SANITIZE_HOST includes address"

7 years agoremove use of CTS_TESTCASES_OUT
Guang Zhu [Tue, 4 Oct 2016 23:43:40 +0000 (16:43 -0700)]
remove use of CTS_TESTCASES_OUT

Bug: 31788743
Test: $ make cts dist
      # check contents of generated package and API coverage
      # report
      $ make checkbuild

Merged-In: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
Change-Id: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
(cherry picked from commit f8f0880b3b8fb6a80ed766068d5f1714625b8960)

7 years agoMerge "Replace product variable stashing with .KATI_READONLY"
Treehugger Robot [Thu, 6 Oct 2016 23:41:29 +0000 (23:41 +0000)]
Merge "Replace product variable stashing with .KATI_READONLY"

7 years agoMerge "Support multiple arch for coverage packaging."
Ryan Campbell [Thu, 6 Oct 2016 23:25:08 +0000 (23:25 +0000)]
Merge "Support multiple arch for coverage packaging."

7 years agoMake AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true.
David Zeuthen [Thu, 6 Oct 2016 17:05:38 +0000 (13:05 -0400)]
Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true.

Often BOARD_USES_RECOVERY_AS_BOOT is used together with
BOARD_BUILD_SYSTEM_ROOT_IMAGE, but with this combination we're currently
not adding a hash footer to boot.img. Fix this.

Bug: 31119415
Test: Built with BOARD_USES_RECOVERY_AS_BOOT set to true and inspected images.
Merged-In: If033e5c93f5b71fd17405af7d970dc3f0540a1d2
Change-Id: I2f10bbffb0ba2467d53e3e62d5379c3ab7236063

7 years agoReplace product variable stashing with .KATI_READONLY
Dan Willemsen [Wed, 5 Oct 2016 23:57:27 +0000 (16:57 -0700)]
Replace product variable stashing with .KATI_READONLY

Instead of using rot13 / rot26, use the Kati extension to mark these
variables as readonly.

Move $(strip) for a few variables to before they're marked readonly. Use
a different variable for modifications to BOARD_KERNEL_CMDLINE in
build/core/Makefile.

Test: build/tools/kati_all_products.mk on AOSP and internal master
Test: build-aosp_bullhead.ninja the same before / after
Change-Id: If98b24af763831a9c5c2de38037a69ab1bf9e023

7 years agoUse ASAN prebuilts if SANITIZE_HOST includes address
Dan Willemsen [Thu, 6 Oct 2016 06:26:24 +0000 (23:26 -0700)]
Use ASAN prebuilts if SANITIZE_HOST includes address

Test: SANITIZE_HOST=address m -j showcommands
Change-Id: Ifdca98d5fa32867005ace99e1eb5188e22923ac6

7 years agoGenerate SHA-1 build ID for host-generated *.oat files (2/2).
Alexey Alexandrov [Mon, 19 Sep 2016 17:54:21 +0000 (10:54 -0700)]
Generate SHA-1 build ID for host-generated *.oat files (2/2).

For host-generated *.oat files, generate a SHA-1 build ID based on the
file content and write it to .note.gnu.build-id ELF section.  This
should allow various developer tools like profilers correlate the data
captured for files like boot.oat on the device with the corresponding
known version of the file during an offline analysis.

Test: Verified that boot.oat contains the build ID section now.
Test: make test-art-host
Bug: 31292208
Change-Id: Iee48e437009488f20995e73868d5059d349701c0

7 years agoMerge "Add a new ANALYZER severity group."
Chih-hung Hsieh [Wed, 5 Oct 2016 23:31:43 +0000 (23:31 +0000)]
Merge "Add a new ANALYZER severity group."

7 years agoMerge "Add tool to run kati for all products"
Treehugger Robot [Wed, 5 Oct 2016 22:56:03 +0000 (22:56 +0000)]
Merge "Add tool to run kati for all products"

7 years agoAdd tool to run kati for all products
Dan Willemsen [Mon, 16 May 2016 08:35:57 +0000 (01:35 -0700)]
Add tool to run kati for all products

Test: get_build_var all_named_products
Test: build/tools/kati_all_products.sh
Change-Id: I3496cb4c59a1edb11c9149b95ecabd3a828b8972

7 years agoAdd a new ANALYZER severity group.
Chih-Hung Hsieh [Wed, 5 Oct 2016 18:53:20 +0000 (11:53 -0700)]
Add a new ANALYZER severity group.

* Separate clang-tidy's clang-analyzer-* warnings from
  other clang-tidy warnings.

Bug: 31559947
Test: build with WITH_TIDY=1 and DEFAULT_GLOBAL_TIDY_CHECKS=*,-readability-*,-google-readability-*
Change-Id: If03c421c9319741ef6588bc0d803b6da0cc4433a

7 years agoFix a nullness warning.
Yunlian Jiang [Wed, 5 Oct 2016 00:23:03 +0000 (17:23 -0700)]
Fix a nullness warning.

This silences a warning null pointer passed as an argument to a
'nonnull' parameter

BUG=None
Test: The warning is gone.

Change-Id: I10a17d4674bfb373d7fe8666863abd5f10a4d11f

7 years agoMerge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS"
Treehugger Robot [Wed, 5 Oct 2016 16:51:15 +0000 (16:51 +0000)]
Merge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS"

7 years agoRemove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS
Dan Willemsen [Wed, 5 Oct 2016 05:24:17 +0000 (22:24 -0700)]
Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS

These are exported by Soong. Caught by an upcoming change to mark
Soong-exported variables as readonly.

Test: Manual checking that the values are still the same.
Change-Id: I18e2bca588c57809c16a9f0c386aad432bfbee2c

7 years agoMerge "Fix empty mac .toc generation"
Colin Cross [Wed, 5 Oct 2016 02:35:02 +0000 (02:35 +0000)]
Merge "Fix empty mac .toc generation"

7 years agoMerge "Don't prune $(OUT_DIR) from findleaves.py"
Colin Cross [Wed, 5 Oct 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Don't prune $(OUT_DIR) from findleaves.py"

7 years agoFix empty mac .toc generation
Colin Cross [Wed, 5 Oct 2016 00:01:29 +0000 (17:01 -0700)]
Fix empty mac .toc generation

If a shared library has no exported symbols grep will return exit code
1 meaning no matches, but this should not be considered an error
during toc generation.

Test: external/clang/build.py
Change-Id: If589da38ad8b844fe1aff4738481cebea75cca42

7 years agoDon't prune $(OUT_DIR) from findleaves.py
Colin Cross [Tue, 4 Oct 2016 23:21:49 +0000 (16:21 -0700)]
Don't prune $(OUT_DIR) from findleaves.py

Pruning $(OUT_DIR) can be overaggressive if $(OUT_DIR) matches the name
of any directory in the source tree that contains Android.mk files.
Pruning $(OUT_DIR) is no longer necessary, as one of the first things
the build system does is put an empty Android.mk file in there to avoid
recursing into it.

Bug: 31941856
Test: m -j OUT_DIR=angler
Change-Id: I7c5e95816f35bd5906845716d56cca76de7fa1ad

7 years agoMerge "Make room for AVB hashtree and metadata."
David Zeuthen [Tue, 4 Oct 2016 22:32:26 +0000 (22:32 +0000)]
Merge "Make room for AVB hashtree and metadata."

7 years agoMerge "Accept environment variables DEFAULT_*_TIDY_CHECKS"
Chih-hung Hsieh [Tue, 4 Oct 2016 22:25:25 +0000 (22:25 +0000)]
Merge "Accept environment variables DEFAULT_*_TIDY_CHECKS"

7 years agoMake room for AVB hashtree and metadata.
David Zeuthen [Fri, 30 Sep 2016 21:29:22 +0000 (17:29 -0400)]
Make room for AVB hashtree and metadata.

While the system.img images currently built with AVB support verify
correctly, mounting the filesystem content fails. This is because
'avbtool add_hashtree_footer' used to claim some of the unused /
DONT_CARE space for stashing the verity tables and this resulting in the
mapped device ending up being smaller causing the mount failure.

Fix this by leaving enough room for AVB hashtree and metadata before
building the image. This is achieved by moving the AVB hashtree support
into build_image.py and using a just added '--calc_max_image_size'
option to 'avbtool add_hashtree_footer' to figure out how much space to
leave out.

This depends on https://android-review.googlesource.com/#/c/281821/

Bug: 31264226
Test: Mounting dm-verity set up from system.img now works.

Merged-In: I4c5de1004c1059f8c582e76b3b8517d427aa1a87

Change-Id: I945a5f1f6782791736cd319f216cfa6b448fb04d

7 years agoMerge "Enable toc optimization for host builds"
Colin Cross [Tue, 4 Oct 2016 20:57:52 +0000 (20:57 +0000)]
Merge "Enable toc optimization for host builds"

7 years agoAccept environment variables DEFAULT_*_TIDY_CHECKS
Chih-Hung Hsieh [Mon, 3 Oct 2016 04:31:04 +0000 (21:31 -0700)]
Accept environment variables DEFAULT_*_TIDY_CHECKS

* Define DEFAULT_GLOBAL_TIDY_CHECKS/DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS
  only if it is not already defined.

Bug: http://b/27779618
Test: build with WITH_TIDY=1 and define those variables.
Change-Id: I201c9da3769d6ef658a75d4a1bf42ec6816d4069

7 years agoMerge "Fix for non-empty a[name] tags in openJdk based javadocs."
Przemyslaw Szczepaniak [Tue, 4 Oct 2016 11:35:58 +0000 (11:35 +0000)]
Merge "Fix for non-empty a[name] tags in openJdk based javadocs."

7 years agoFix for non-empty a[name] tags in openJdk based javadocs.
Przemyslaw Szczepaniak [Mon, 26 Sep 2016 15:21:13 +0000 (16:21 +0100)]
Fix for non-empty a[name] tags in openJdk based javadocs.

openJdk based android javadoc contains <a name=... tags
that are non-empty. Currently they are being hidden,
causing badly formatted pages for some java.* classes
(missing text and random whitespace blocks).

This change makes the existing a[name] hiding rule
apply only to empty tags.

Test: make docs
Bug: 31700998
Change-Id: Ifa75bbabe308d7aed0cce6165c1113e5a382a121
(cherry picked from commit a7edd92c457879f2719afe6b5d119886b869182f)

7 years agoSupport multiple arch for coverage packaging.
Ryan Campbell [Mon, 3 Oct 2016 18:23:40 +0000 (11:23 -0700)]
Support multiple arch for coverage packaging.

Modify copy rule to support multiple architectures. Use a method
similar to symbols.

Test: make lights.bullhead NATIVE_COVERAGE=true COVERAGE_PATHS=test/vts/hals/light/
Bug: 31911253
Change-Id: Ib3c53b4b305cbfcfd186010c5500b8d678190ddf

7 years agoEnable toc optimization for host builds
Colin Cross [Mon, 3 Oct 2016 23:49:02 +0000 (16:49 -0700)]
Enable toc optimization for host builds

The toc optimization had been disabled for host builds to ensure that
the timestamp of the final binary changed whenever its implementation
changed, in order to support rerunning host tools that were modified
during incremental builds.  However, only the final install rule must be
re-run to update the timestamp, and not the link rule.

Update the shared library install dependencies to use normal
dependencies instead of order-only dependencies for host modules, and
then enable the the toc optimization for host modules.  If the
implementation of a library changes it will be reinstalled, and
libraries or binaries that depend on it will also be reinstalled.

Bug: 26015464
Test: m -j; touch art/disassembler/disassembler_x86.cc; m -j, verify
      out/host/linux-x86/bin/oatdump is updated
Change-Id: I0a14decc1994eb55ad269d841943aef66e320c63

7 years agoMerge "Propagate signals through makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:54 +0000 (00:23 +0000)]
Merge "Propagate signals through makeparallel"

7 years agoMerge "exec makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:47 +0000 (00:23 +0000)]
Merge "exec makeparallel"

7 years agoMerge "Revert "Remove -d keepdepfile from ninja command line""
Colin Cross [Tue, 4 Oct 2016 00:23:37 +0000 (00:23 +0000)]
Merge "Revert "Remove -d keepdepfile from ninja command line""

7 years agoPropagate signals through makeparallel
Colin Cross [Mon, 3 Oct 2016 20:40:32 +0000 (13:40 -0700)]
Propagate signals through makeparallel

Set up a signal handler in makeparallel that will forward SIGHUP,
SIGINT, SIGQUIT, and SIGTERM to the child process.

Bug: 31907490
Test: m -j & killall make; pgrep -a ninja
Test: make makeparallel_test
Change-Id: I306e5335ed1b2c7056804d5da377a2f283877f30

7 years agoexec makeparallel
Colin Cross [Mon, 3 Oct 2016 20:38:27 +0000 (13:38 -0700)]
exec makeparallel

bash doesn't kill children when it receives SIGTERM.  Since makeparallel
is the last command run by the shell, run it with exec to replace the
shell with makeparallel so make can send the signal directly to
makeparallel.

Bug: 31907490
Test: m -j & killall make; pgrep -a makeparallel
Change-Id: If8aeb51ec224234da5f05eae3382ce77f48a57e2

7 years agoRevert "Remove -d keepdepfile from ninja command line"
Colin Cross [Mon, 3 Oct 2016 22:12:08 +0000 (15:12 -0700)]
Revert "Remove -d keepdepfile from ninja command line"

This reverts commit 4aca5715523d1b8a85abde00d7ccc2989c90a96b.

Test: builds
Change-Id: Iddb3517a4596e84404db1738fa95eb15f435a42d

7 years agoMerge "Optimize rebuilds by reducing $(shell) usage"
Dan Willemsen [Mon, 3 Oct 2016 21:20:36 +0000 (21:20 +0000)]
Merge "Optimize rebuilds by reducing $(shell) usage"

7 years agoOptimize rebuilds by reducing $(shell) usage
Dan Willemsen [Sat, 1 Oct 2016 00:30:32 +0000 (17:30 -0700)]
Optimize rebuilds by reducing $(shell) usage

$(shell) isn't particularly fast in Kati, and they have to be executed
both when reading the makefiles and determining whether the ninja file
needs to be regenerated.

Right now, the regen time is mostly hidden because we run them in
parallel. We've also configured it to ignore any commands that contain
"echo", "date", or the output directory. That happens to remove most
commands that contain side effects, so running them in parallel is fine.

But the side effects contain some important things, like the clean up
necessary when switching products. So I'm removing those filters, and
then we'll need to run the shell commands in sequence, since there will
be side-effects. That makes regen take longer though, so use pure-Make
implementations instead of $(shell) where possible.

This set of changes reduces aosp/master aosp_arm64-eng build $(shell)
usage and time by 2/3:

*kati*: func shell time: 3.135095 / 709
*kati*: func shell time: 1.067331 / 236

Bug: 30947985
Test: Manual test lines for math functions
Test: Compare build-aosp_arm64.ninja before/after
Change-Id: I4fc9d6318957992921972994f277c17918e7e1eb

7 years agoMerge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"
Dan Willemsen [Sat, 1 Oct 2016 01:43:37 +0000 (01:43 +0000)]
Merge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"

7 years agoMerge "releasetools: Clean up sign_target_files_apks.py."
Treehugger Robot [Sat, 1 Oct 2016 00:11:33 +0000 (00:11 +0000)]
Merge "releasetools: Clean up sign_target_files_apks.py."

7 years agoMerge "Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices"
Treehugger Robot [Fri, 30 Sep 2016 23:25:17 +0000 (23:25 +0000)]
Merge "Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices"

7 years agoreleasetools: Clean up sign_target_files_apks.py.
Tao Bao [Fri, 30 Sep 2016 00:53:56 +0000 (17:53 -0700)]
releasetools: Clean up sign_target_files_apks.py.

Remove the obsolete workaround for API 24. Also make it pylint clean.

Test: 1. Sign a target_files.zip and get identical results.
      2. `pylint --rcfile=pylintrc sign_target_files_apks.py` gives 10.00/10.

Change-Id: I21736f959c5182486fd8ccebea9bbc594edef9fb

7 years agoUse DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices
Chih-Hung Hsieh [Fri, 30 Sep 2016 17:41:27 +0000 (10:41 -0700)]
Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices

Many source files under vendor/google_devices
are old third party code with too many clang-tidy
misc-macro-parentheses warnings.

Test: build with WITH_TIDY=1
Change-Id: I79248af3ece9c7a4436b8cf5e6c25f224fd8201b

7 years agoMerge "releasetools: Fix the reference to OPTIONS.info_dict."
Tao Bao [Fri, 30 Sep 2016 17:39:22 +0000 (17:39 +0000)]
Merge "releasetools: Fix the reference to OPTIONS.info_dict."

7 years agoRemove LOCAL_CTS_GTEST_LIST_EXECUTABLE
Dan Willemsen [Fri, 30 Sep 2016 05:37:04 +0000 (22:37 -0700)]
Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE

The one user has now been removed, so this is no longer necessary.

Test: None
Change-Id: I8fb9e7b90f664af616368685d81f8b10d0687306

7 years agoreleasetools: Fix the reference to OPTIONS.info_dict.
Tao Bao [Fri, 30 Sep 2016 04:59:06 +0000 (21:59 -0700)]
releasetools: Fix the reference to OPTIONS.info_dict.

sign_target_files_apks.py calls common.GetBootableImage() but without
calling 'OPTIONS = common.OPTIONS' first. In common.GetBootableImage(),
we should use the local info_dict parameter instead of OPTIONS.info_dict.

Test: sign_target_files_apks.py generates signed-TF.zip successfully.

Change-Id: Ia3d32b88691c26e5fb98feea709e3e3c3eb70fdb

7 years agoMerge "Add LOCAL_EXPORT_C_INCLUDE_DEPS"
Treehugger Robot [Fri, 30 Sep 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Add LOCAL_EXPORT_C_INCLUDE_DEPS"

7 years agoAdd LOCAL_EXPORT_C_INCLUDE_DEPS
Dan Willemsen [Thu, 29 Sep 2016 19:08:29 +0000 (12:08 -0700)]
Add LOCAL_EXPORT_C_INCLUDE_DEPS

This shouldn't be necessary for most makefiles, since we add
$(LOCAL_GENERATED_SOURCES) to this already included, but for prebuilts
that aren't actually prebuilts (Soong modules), we need to pass
dependencies so that the generated headers are built before being used.

Bug: 31742855
Test: Use, inspect build-*.ninja
Change-Id: I8d9f675af639d3f40780d48a016fc079a82531c2

7 years agoMerge "Update for new Android Verified Boot (AVB)."
David Zeuthen [Thu, 29 Sep 2016 17:48:40 +0000 (17:48 +0000)]
Merge "Update for new Android Verified Boot (AVB)."

7 years agoUpdate for new Android Verified Boot (AVB).
David Zeuthen [Thu, 15 Sep 2016 17:43:54 +0000 (13:43 -0400)]
Update for new Android Verified Boot (AVB).

This updates the build system for the new Android Verified Boot
codebase. As this is based on Brillo Verified Boot, this change replaces
the existing BVB support.

Android Verified Boot is enabled by the BOARD_AVB_ENABLE variable

 BOARD_AVB_ENABLE := true

This will make the build system create vbmeta.img which will contain a
hash descriptor for boot.img, a hashtree descriptor for system.img, a
kernel-cmdline descriptor for setting up dm-verity for system.img and
append a hash-tree to system.img.

Additionally, the descriptors are left in boot.img and system.img so a
third party can create their own vbmeta.img file linking - using the
option --chain_partition - to these images. If this is not needed
footers can be erased using the 'avbtool erase_footer' command. It's
also harmless to just leave them in the images.

By default, the algorithm SHA256_RSA4096 is used with a test key from
the AVB source directory. This can be overriden by the
BOARD_AVB_ALGORITHM and BOARD_AVB_KEY_PATH variables to use e.g. a
4096-bit RSA key and SHA-512:

 BOARD_AVB_ALGORITHM := SHA512_RSA4096
 BOARD_AVB_KEY_PATH := /path/to/rsa_key_4096bits.pem

To prevent rollback attacks, the rollback index should be increased on a
regular basis. The rollback index can be set with the
BOARD_AVB_ROLLBACK_INDEX variable:

 BOARD_AVB_ROLLBACK_INDEX := 5

If this is not set, the rollback index defaults to 0.

The variable BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS can be used to specify
additional options passed to 'avbtool make_vbmeta_image'. Typical
options to be used here include '--prop', '--prop_from_file', and
'--chain_partition'.

The variable BOARD_AVBTOOL_BOOT_ADD_HASH_FOOTER_ARGS can be used to
specify additional options passed to 'avbtool add_hash_footer' for
boot.img. Typical options to be used here include '--hash_algorithm' and
'--salt'.

The variable BOARD_AVBTOOL_SYSTEM_ADD_HASHTREE_FOOTER_ARGS can be used
to specify additional options passed to 'avbtool add_hashtree_footer'
for systems.img. Typical options to be used here include
'--hash_algorithm', '--salt', and '--block_size'.

BUG=31264226
TEST=Manually tested on edison-eng by inspecting {boot, system,
  vbmeta}.img in out/ directory as well as their counterparts in
  the IMAGES/ directory of edision-target_files-eng.zeuthen.zip

Merged-In: Ic9a61cfc65c148b12996e57f04da5432eef6b982

Change-Id: I97042655bca15e7eac899f12c5bada2f6184d307

7 years agoMerge "Only run warn.py's main function if it is the main program."
Treehugger Robot [Thu, 29 Sep 2016 03:58:07 +0000 (03:58 +0000)]
Merge "Only run warn.py's main function if it is the main program."

7 years agoMerge "Switch to using clang-3289846."
Stephen Hines [Thu, 29 Sep 2016 02:56:49 +0000 (02:56 +0000)]
Merge "Switch to using clang-3289846."

7 years agoOnly run warn.py's main function if it is the main program.
Meike Baumgärtner [Wed, 28 Sep 2016 17:48:06 +0000 (10:48 -0700)]
Only run warn.py's main function if it is the main program.

Test: run warn.py --byproject build.log
Change-Id: I155cce8c952d6d8a02c8e1809bf61a46c847c26e

7 years agoMerge "Fix pylint warning and refactor project_list."
Treehugger Robot [Wed, 28 Sep 2016 17:47:41 +0000 (17:47 +0000)]
Merge "Fix pylint warning and refactor project_list."

7 years agoMerge "Analyze unchanged blocks in odex files."
Tao Bao [Wed, 28 Sep 2016 17:08:10 +0000 (17:08 +0000)]
Merge "Analyze unchanged blocks in odex files."

7 years agoSwitch to using clang-3289846.
Stephen Hines [Wed, 28 Sep 2016 15:51:55 +0000 (08:51 -0700)]
Switch to using clang-3289846.

Bug: http://b/30252254
Test: Built/boot platform using latest prebuilts.
Change-Id: I7c9357a99afec323fd766e93b5d5e941e9e06244

7 years agoFix pylint warning and refactor project_list.
Chih-Hung Hsieh [Tue, 27 Sep 2016 22:39:28 +0000 (15:39 -0700)]
Fix pylint warning and refactor project_list.

Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: Id442cf6608bf5c14784063c05f5ff0b731f17486

7 years agoMerge "Fix Google pylint warnings."
Chih-hung Hsieh [Wed, 28 Sep 2016 04:10:26 +0000 (04:10 +0000)]
Merge "Fix Google pylint warnings."

7 years agoMerge "Remove WITH_SYNTAX_CHECK"
Treehugger Robot [Wed, 28 Sep 2016 01:44:23 +0000 (01:44 +0000)]
Merge "Remove WITH_SYNTAX_CHECK"

7 years agoFix Google pylint warnings.
Chih-Hung Hsieh [Wed, 28 Sep 2016 01:08:52 +0000 (18:08 -0700)]
Fix Google pylint warnings.

* Rename 'severity' to 'Severity'.
* Fix bad line indentations and space.

Test: run warn.py --byproject build.log
Change-Id: I33d701cca408b5ca4715be8d44c890942b7d132a

7 years agoMerge "Add buttons to group warning by project or severity."
Treehugger Robot [Tue, 27 Sep 2016 21:10:40 +0000 (21:10 +0000)]
Merge "Add buttons to group warning by project or severity."

7 years agoMerge "Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG."
Evgenii Stepanov [Tue, 27 Sep 2016 20:51:41 +0000 (20:51 +0000)]
Merge "Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG."

7 years agoMerge "Remove spaces from DEFAULT_TIDY_HEADER_DIRS"
Treehugger Robot [Tue, 27 Sep 2016 01:10:30 +0000 (01:10 +0000)]
Merge "Remove spaces from DEFAULT_TIDY_HEADER_DIRS"

7 years agoRemove WITH_SYNTAX_CHECK
Dan Willemsen [Tue, 27 Sep 2016 00:37:19 +0000 (17:37 -0700)]
Remove WITH_SYNTAX_CHECK

It's no longer used. The majority of the platform is on clang anyways.

Test: m -j
Change-Id: I4fb4375eaad2469e169d34c47ae3fe2a0540aeec

7 years agoMerge "build: add hwservicemanager to the core packages"
Treehugger Robot [Mon, 26 Sep 2016 23:54:53 +0000 (23:54 +0000)]
Merge "build: add hwservicemanager to the core packages"

7 years agoRemove spaces from DEFAULT_TIDY_HEADER_DIRS
Dan Willemsen [Mon, 26 Sep 2016 22:43:45 +0000 (15:43 -0700)]
Remove spaces from DEFAULT_TIDY_HEADER_DIRS

I'm preparing to move this to Soong, and it's simpler to compare if the
spaces are removed here (to match the other lists in this file).

Test: WITH_TIDY=true; compare build.ninja before and after change
Change-Id: Ib27a19a36ebb1132300a8c1eeace1202685dfc4c

7 years agoAdd buttons to group warning by project or severity.
Chih-Hung Hsieh [Fri, 23 Sep 2016 02:22:07 +0000 (19:22 -0700)]
Add buttons to group warning by project or severity.

* Add more project patterns.
* Add more top level comments for global variables and functions.
* Resequence severity numbers to match the dump order.
* Emit warning messages and tables to static HTML JavaScript arrays.
* Replace old static HTML table dumper functions with
  new dynamic HTML JavaScript to generate sections of warnings.
* Warning messages are grouped into sections by severity or projects.
* Better descriptions for SKIP warning patterns.
* Replace output function with print.

Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: I7b44ef6223d5b2f1aa31655a5a47d854f9a1dedc

7 years agobuild: add hwservicemanager to the core packages
Iliyan Malchev [Mon, 19 Sep 2016 22:20:14 +0000 (15:20 -0700)]
build: add hwservicemanager to the core packages

b/31458381
b/31240290

Test: passing build and runtime tests

Change-Id: I294c70d93d23ada94ff1175f2d3babd5b836eeee
Signed-off-by: Iliyan Malchev <malchev@google.com>
7 years agoMerge "Fix Google pylint warnings."
Treehugger Robot [Mon, 26 Sep 2016 21:18:07 +0000 (21:18 +0000)]
Merge "Fix Google pylint warnings."

7 years agoFix Google pylint warnings.
Chih-Hung Hsieh [Mon, 26 Sep 2016 17:56:43 +0000 (10:56 -0700)]
Fix Google pylint warnings.

* Rename variables and functions to follow Google coding style.
* Fix line indentations to follow Google coding style.
* Add module and function docstrings.
* Change shebang line to avoid pylint warning.
* Suppress some pylint warnings to avoid too many changes at once.
* Fix typos.

Test: run warn.py --byproject build.log
Change-Id: I569961981b562e35cb5609a96cd5ebb40a80829c

7 years agofat16copy: Fix allocation logic when extending directories.
Alex Deymo [Mon, 19 Sep 2016 21:32:53 +0000 (14:32 -0700)]
fat16copy: Fix allocation logic when extending directories.

When extending a directory, empty directory entries were left behind
signaling the end of a directory.

Bug: 31570546
Test: make dist; mdir shows all the files.

(cherry picked from commit d4516300b010c8155861e310dac871e8c10d3382)

Change-Id: Ie3d82cfaad51be73911293a54d18746e8adf62a2

7 years agofat16copy: Sort new directory entries.
Alex Deymo [Fri, 23 Sep 2016 20:12:33 +0000 (13:12 -0700)]
fat16copy: Sort new directory entries.

Sort the entries returned by os.listdir to give a consistent ordering
across build.

Bug: None
Test: `make dist`

(cherry picked from commit ef34e5dca216e61fd81020e818f247f6ce47d26e)

Change-Id: I2f80889684f108208f07e13d725acaa7bc0ab099

7 years agoMake fat16copy.py add . and .. entries to directories
Casey Dahlin [Wed, 14 Sep 2016 20:52:29 +0000 (13:52 -0700)]
Make fat16copy.py add . and .. entries to directories

Test: fsck no longer complains
Bug: None

(cherry picked from commit 7d38ec37432c307d729b9a8fdb78dbf820427538)

Change-Id: I587f400df2f57b987df8b92d551c99f2f42a9af6

7 years agoAnalyze unchanged blocks in odex files.
Tao Bao [Tue, 20 Sep 2016 05:26:30 +0000 (22:26 -0700)]
Analyze unchanged blocks in odex files.

In BBOTA, we generate patches based on _all_ the blocks of a pair of
input files (src and tgt). For security incremental OTAs, one common
pattern is that only a few blocks are changed in odex files (e.g.
headers). We don't really need to stash/patch the unchanged blocks.

This CL analyzes the unchanged blocks in odex files and computes the
diff for the changed blocks only. It reduces the OTA install time by
about 25% to 40% in our experiments, by paying an increase of 5% to 30%
OTA generation time cost.

Bug: 31570716
Test: Generate an incremental and apply on device.

Change-Id: If842c1afeff6894a3d27eb60b7e8f65a179b7977

7 years agoMerge "Recognize new warning messages."
Treehugger Robot [Fri, 23 Sep 2016 04:33:11 +0000 (04:33 +0000)]
Merge "Recognize new warning messages."

7 years agoMerge "link_type check: Support modules installed into /data"
Treehugger Robot [Fri, 23 Sep 2016 04:30:02 +0000 (04:30 +0000)]
Merge "link_type check: Support modules installed into /data"

7 years agoRecognize new warning messages.
Chih-Hung Hsieh [Wed, 21 Sep 2016 21:00:23 +0000 (14:00 -0700)]
Recognize new warning messages.

* -Wunnamed-type-template-args and -W#pragma-messages

Test: run warn.py with build.log.
Change-Id: I36277e001081604f92a4d9c92f9a0b5d3f0ee5e5