Commit Graph

30372 Commits

Author SHA1 Message Date
Dan Willemsen
3a14d45f83 Merge "Use ASAN prebuilts if SANITIZE_HOST includes address"
am: daba887656

Change-Id: If861bf6ab96f4cab777be5d39d75b151791be42c
2016-10-07 01:14:07 +00:00
Treehugger Robot
daba887656 Merge "Use ASAN prebuilts if SANITIZE_HOST includes address" 2016-10-07 01:08:07 +00:00
Dan Willemsen
9d2208441c Merge "Replace product variable stashing with .KATI_READONLY"
am: 157ad04cfc

Change-Id: I0672cfab4bb7a87cecead3b168080aac208cf5eb
2016-10-06 23:46:30 +00:00
Treehugger Robot
157ad04cfc Merge "Replace product variable stashing with .KATI_READONLY" 2016-10-06 23:41:30 +00:00
Ryan Campbell
2882b0aff1 Merge "Support multiple arch for coverage packaging."
am: 56b5030eac

Change-Id: I5416d4c322db764662c97876c12e098a615af8a3
2016-10-06 23:36:00 +00:00
Ryan Campbell
56b5030eac Merge "Support multiple arch for coverage packaging." 2016-10-06 23:25:09 +00:00
Dan Willemsen
c1f17ffc7d 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
2016-10-06 10:50:26 -07:00
Dan Willemsen
3b4d17ffe7 Use ASAN prebuilts if SANITIZE_HOST includes address
Test: SANITIZE_HOST=address m -j showcommands
Change-Id: Ifdca98d5fa32867005ace99e1eb5188e22923ac6
2016-10-05 23:26:24 -07:00
Chih-hung Hsieh
8a2f279b37 Merge "Add a new ANALYZER severity group."
am: 89244619ad

Change-Id: Idb6236145ec2a03d8656bc98349f871186dc6847
2016-10-05 23:38:22 +00:00
Chih-hung Hsieh
89244619ad Merge "Add a new ANALYZER severity group." 2016-10-05 23:31:43 +00:00
Dan Willemsen
652c4b4001 Merge "Add tool to run kati for all products"
am: 480678e220

Change-Id: If2dca50d3e2004927723140ff3de94a368c15590
2016-10-05 22:58:58 +00:00
Treehugger Robot
480678e220 Merge "Add tool to run kati for all products" 2016-10-05 22:56:03 +00:00
Dan Willemsen
4c364620ac 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
2016-10-05 14:04:21 -07:00
Chih-Hung Hsieh
1eabb0ecb2 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
2016-10-05 11:53:20 -07:00
Dan Willemsen
bd1232517d Merge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS"
am: 2849d4f9d9

Change-Id: Ie80905cfc47c7d46bae00e7a0d01907c5401ee34
2016-10-05 17:01:34 +00:00
Treehugger Robot
2849d4f9d9 Merge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS" 2016-10-05 16:51:15 +00:00
Dan Willemsen
6f21a29a2c 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
2016-10-04 22:28:49 -07:00
Colin Cross
8497a34201 Merge "Fix empty mac .toc generation"
am: 7bc7704921

Change-Id: Ibe20dff657932eb7851dcbdc2d6dd41ab4f4668d
2016-10-05 02:37:38 +00:00
Colin Cross
7bc7704921 Merge "Fix empty mac .toc generation" 2016-10-05 02:35:02 +00:00
Colin Cross
bad4b072de Merge "Don't prune $(OUT_DIR) from findleaves.py"
am: 6338f23a36

Change-Id: I9dc9f1c7380e579b54828b5b6dfbe8865ab84726
2016-10-05 01:42:55 +00:00
Colin Cross
6338f23a36 Merge "Don't prune $(OUT_DIR) from findleaves.py" 2016-10-05 01:38:04 +00:00
Colin Cross
cff9a64a48 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
2016-10-04 17:01:29 -07:00
Colin Cross
ae58e2bfa5 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
2016-10-04 16:35:21 -07:00
David Zeuthen
b5b638f7fa Merge "Make room for AVB hashtree and metadata."
am: 70209ad9f0

Change-Id: Ib9da55a7dd11d94f2044493ed932069de6c6eb74
2016-10-04 22:37:22 +00:00
David Zeuthen
70209ad9f0 Merge "Make room for AVB hashtree and metadata." 2016-10-04 22:32:27 +00:00
Chih-hung Hsieh
8d4da5f521 Merge "Accept environment variables DEFAULT_*_TIDY_CHECKS"
am: 4b4b2da13d

Change-Id: I61b05ed9a74875c43ef268d67ee9e2e5d494c2ce
2016-10-04 22:30:52 +00:00
Chih-hung Hsieh
4b4b2da13d Merge "Accept environment variables DEFAULT_*_TIDY_CHECKS" 2016-10-04 22:25:26 +00:00
David Zeuthen
4014a9daa7 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
2016-10-04 17:32:16 -04:00
Colin Cross
4276c12d20 Merge "Enable toc optimization for host builds"
am: 5d8c73e373

Change-Id: I0dae6e9a2d7e759b8c3860d3b4e7a85f04f5aecb
2016-10-04 21:02:26 +00:00
Colin Cross
5d8c73e373 Merge "Enable toc optimization for host builds" 2016-10-04 20:57:53 +00:00
Chih-Hung Hsieh
8fdda6e495 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
2016-10-04 10:18:02 -07:00
Przemyslaw Szczepaniak
8dd4374689 Merge "Fix for non-empty a[name] tags in openJdk based javadocs."
am: a8c8dadd09

Change-Id: Ide86ed97b14d3c34c6210b9ea9d24b8f3733c090
2016-10-04 11:38:51 +00:00
Przemyslaw Szczepaniak
a8c8dadd09 Merge "Fix for non-empty a[name] tags in openJdk based javadocs." 2016-10-04 11:35:58 +00:00
Przemyslaw Szczepaniak
4bce2866fb 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 a7edd92c45)
2016-10-04 10:31:54 +00:00
Ryan Campbell
c209ef8ce1 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
2016-10-03 18:23:40 -07:00
Colin Cross
d2ff157159 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
2016-10-03 17:53:44 -07:00
Colin Cross
6f4807da4b Merge "Propagate signals through makeparallel"
am: e0f42b41f6

Change-Id: Ia68f218edd5e57f82bea3269a8fb863077e28082
2016-10-04 00:28:39 +00:00
Colin Cross
46c08db556 Merge "exec makeparallel"
am: cf8afef2eb

Change-Id: I77aaad7879d65b233e17a90f0196021105596c6e
2016-10-04 00:28:28 +00:00
Colin Cross
88f14b6bb7 Merge "Revert "Remove -d keepdepfile from ninja command line""
am: 6548b54dfd

Change-Id: I82aa023b881f277d419fdcdf09cd510b804217c2
2016-10-04 00:28:16 +00:00
Colin Cross
e0f42b41f6 Merge "Propagate signals through makeparallel" 2016-10-04 00:23:54 +00:00
Colin Cross
cf8afef2eb Merge "exec makeparallel" 2016-10-04 00:23:47 +00:00
Colin Cross
6548b54dfd Merge "Revert "Remove -d keepdepfile from ninja command line"" 2016-10-04 00:23:37 +00:00
Colin Cross
49c45aecc4 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
2016-10-03 15:33:11 -07:00
Colin Cross
a5471a6723 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
2016-10-03 15:33:06 -07:00
Colin Cross
647d383788 Revert "Remove -d keepdepfile from ninja command line"
This reverts commit 4aca571552.

Test: builds
Change-Id: Iddb3517a4596e84404db1738fa95eb15f435a42d
2016-10-03 15:28:58 -07:00
Dan Willemsen
466f4f2b9e Merge "Optimize rebuilds by reducing $(shell) usage"
am: f009531772

Change-Id: I765a59826d058867abe8dd7a851ed06936fd4321
2016-10-03 21:26:12 +00:00
Dan Willemsen
f009531772 Merge "Optimize rebuilds by reducing $(shell) usage" 2016-10-03 21:20:36 +00:00
Dan Willemsen
b011810c25 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
2016-09-30 21:14:13 -07:00
Dan Willemsen
8c42bd3ae4 Merge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"
am: 847d965b9e

Change-Id: Iab6362844a327f559a5471605ba176e075703a72
2016-10-01 01:48:46 +00:00
Dan Willemsen
847d965b9e Merge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE" 2016-10-01 01:43:37 +00:00