OSDN Git Service
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
Treehugger Robot [Wed, 5 Oct 2016 16:51:15 +0000 (16:51 +0000)]
Merge "Remove 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
Colin Cross [Wed, 5 Oct 2016 02:35:02 +0000 (02:35 +0000)]
Merge "Fix empty mac .toc generation"
Colin Cross [Wed, 5 Oct 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Don't prune $(OUT_DIR) from findleaves.py"
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
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
David Zeuthen [Tue, 4 Oct 2016 22:32:26 +0000 (22:32 +0000)]
Merge "Make room for AVB hashtree and metadata."
Chih-hung Hsieh [Tue, 4 Oct 2016 22:25:25 +0000 (22:25 +0000)]
Merge "Accept environment variables DEFAULT_*_TIDY_CHECKS"
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
Colin Cross [Tue, 4 Oct 2016 20:57:52 +0000 (20:57 +0000)]
Merge "Enable toc optimization for host builds"
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
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."
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)
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
Colin Cross [Tue, 4 Oct 2016 00:23:54 +0000 (00:23 +0000)]
Merge "Propagate signals through makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:47 +0000 (00:23 +0000)]
Merge "exec makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:37 +0000 (00:23 +0000)]
Merge "Revert "Remove -d keepdepfile from ninja command line""
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
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
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
Dan Willemsen [Mon, 3 Oct 2016 21:20:36 +0000 (21:20 +0000)]
Merge "Optimize 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
Dan Willemsen [Sat, 1 Oct 2016 01:43:37 +0000 (01:43 +0000)]
Merge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"
Treehugger Robot [Sat, 1 Oct 2016 00:11:33 +0000 (00:11 +0000)]
Merge "releasetools: Clean up sign_target_files_apks.py."
Treehugger Robot [Fri, 30 Sep 2016 23:25:17 +0000 (23:25 +0000)]
Merge "Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices"
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
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
Tao Bao [Fri, 30 Sep 2016 17:39:22 +0000 (17:39 +0000)]
Merge "releasetools: Fix the reference to OPTIONS.info_dict."
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
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
Treehugger Robot [Fri, 30 Sep 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Add 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
David Zeuthen [Thu, 29 Sep 2016 17:48:40 +0000 (17:48 +0000)]
Merge "Update 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
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."
Stephen Hines [Thu, 29 Sep 2016 02:56:49 +0000 (02:56 +0000)]
Merge "Switch to using clang-
3289846."
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
Treehugger Robot [Wed, 28 Sep 2016 17:47:41 +0000 (17:47 +0000)]
Merge "Fix pylint warning and refactor project_list."
Tao Bao [Wed, 28 Sep 2016 17:08:10 +0000 (17:08 +0000)]
Merge "Analyze unchanged blocks in odex files."
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
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
Chih-hung Hsieh [Wed, 28 Sep 2016 04:10:26 +0000 (04:10 +0000)]
Merge "Fix Google pylint warnings."
Treehugger Robot [Wed, 28 Sep 2016 01:44:23 +0000 (01:44 +0000)]
Merge "Remove WITH_SYNTAX_CHECK"
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
Treehugger Robot [Tue, 27 Sep 2016 21:10:40 +0000 (21:10 +0000)]
Merge "Add buttons to group warning by project or severity."
Evgenii Stepanov [Tue, 27 Sep 2016 20:51:41 +0000 (20:51 +0000)]
Merge "Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG."
Treehugger Robot [Tue, 27 Sep 2016 01:10:30 +0000 (01:10 +0000)]
Merge "Remove spaces from DEFAULT_TIDY_HEADER_DIRS"
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
Treehugger Robot [Mon, 26 Sep 2016 23:54:53 +0000 (23:54 +0000)]
Merge "build: add hwservicemanager to the core packages"
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
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
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>
Treehugger Robot [Mon, 26 Sep 2016 21:18:07 +0000 (21:18 +0000)]
Merge "Fix 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
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
Treehugger Robot [Fri, 23 Sep 2016 04:33:11 +0000 (04:33 +0000)]
Merge "Recognize new warning messages."
Treehugger Robot [Fri, 23 Sep 2016 04:30:02 +0000 (04:30 +0000)]
Merge "link_type check: Support modules installed into /data"
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
Treehugger Robot [Fri, 23 Sep 2016 00:16:52 +0000 (00:16 +0000)]
Merge "Pass userdebug/eng variant to Soong"
Treehugger Robot [Fri, 23 Sep 2016 00:06:26 +0000 (00:06 +0000)]
Merge "Simplify warn.py and output of warning count table and tablerow."
Dan Willemsen [Thu, 22 Sep 2016 21:52:53 +0000 (14:52 -0700)]
Pass userdebug/eng variant to Soong
Test: Run build with eng/userdebug/user and check the soong.variables
Change-Id: I7cd71a94e92526b6cc61303b13b7bc593cbbfc3a
Chih-Hung Hsieh [Thu, 22 Sep 2016 20:43:12 +0000 (13:43 -0700)]
Simplify warn.py and output of warning count table and tablerow.
* Use a loop to initialize empty 'members' and 'option' of warnpatterns.
* Create severity.{color,columnheader,header} from an attributes list.
* Compute totalbyproject and totalbyseverity from a constructor.
* Skip all-zero rows and columns in the warning count table.
* Remove redundant spaces and newlines in tablerow output.
Test: run through build.log files
Change-Id: I4d3fa4ecd92e1afab91d85b7535d03f8696e83d8
Dan Willemsen [Thu, 22 Sep 2016 17:56:36 +0000 (10:56 -0700)]
link_type check: Support modules installed into /data
Test: compare build.ninja before/after, look at warnings.html
Change-Id: I1b78748dd80b73d2601b2adf0aaac8a6b2b350d5
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge changes from topic 'jack-d-b3-as-stable'
* changes:
Fix bad JACK_PLUGIN variable
Add support for Jack plugin
Dan Willemsen [Wed, 21 Sep 2016 19:39:47 +0000 (19:39 +0000)]
Merge "Package up proguard jack_dictionary"
Yohann Roussel [Mon, 19 Sep 2016 15:49:03 +0000 (17:49 +0200)]
Fix bad JACK_PLUGIN variable
Changed to LOCAL_JACK_PLUGIN.
(cherry picked from commit
17924b136cb5bfc60d138e8c7e5c18a90b5965c3)
Test: Manually tested by some manual activations of the coverage plugin.
Change-Id: I1be4aaa502103fc308d35a5672dc4fe5900c4ebe
Yohann Roussel [Fri, 5 Aug 2016 15:45:10 +0000 (17:45 +0200)]
Add support for Jack plugin
And ensure compatibility with coverage plugin.
(cherry picked from commit
862bb84d37e3e6ca61080de58f206e512e09d4e0)
Bug:
28876950
Test: Manually tested by some manual activations of the coverage plugin.
Change-Id: I804558a501825357bf0812de626d2957eedbdc13
Treehugger Robot [Wed, 21 Sep 2016 00:38:59 +0000 (00:38 +0000)]
Merge "Replace usages of my_register_name with my_all_targets"
Colin Cross [Tue, 20 Sep 2016 23:01:28 +0000 (16:01 -0700)]
Replace usages of my_register_name with my_all_targets
A few module types add extra dependencies on $(my_register_name), move
them to $(my_all_targets) so that they are built for mm and mma too.
Bug:
31526036
Test: mmm framework
Change-Id: I2e594ce771451a99691739b963f4ce517e9dd595
Dan Willemsen [Thu, 1 Sep 2016 18:02:43 +0000 (11:02 -0700)]
Package up proguard jack_dictionary
Bug:
31182185
Test: m dist in an unbundled branch
Change-Id: I7ee1ba076cfa03f294f8231f6bdd8fa8df5557af
Paul Duffin [Tue, 20 Sep 2016 11:51:40 +0000 (11:51 +0000)]
Merge "Add targets for building individual modules using javac"
Dan Willemsen [Mon, 19 Sep 2016 21:54:08 +0000 (21:54 +0000)]
Merge "Fix link_type checking"
Treehugger Robot [Mon, 19 Sep 2016 17:28:01 +0000 (17:28 +0000)]
Merge "Add a script that verifies OTA package signature."
Paul Duffin [Thu, 15 Sep 2016 13:34:42 +0000 (14:34 +0100)]
Add targets for building individual modules using javac
This is needed in order to be able to run error prone (which is
a plugin replacement for javac) on a subset of the java code.
Bug:
31507496
Test: Build javac-check-core-tests and check the resulting JAR
Change-Id: I5a556920572fcdad7b39d67e3f00fe0e0f1f8f46
Dan Willemsen [Sat, 17 Sep 2016 02:29:06 +0000 (02:29 +0000)]
Merge "Only update previous product config when changed"
Tao Bao [Tue, 13 Sep 2016 18:13:48 +0000 (11:13 -0700)]
Add a script that verifies OTA package signature.
Currently it supports verifying packages signed with RSA algorithms
(v1-v4 as in bootable/recovery/verifier.cpp). No support for ECDSA (v5)
signed packages yet.
$ ./build/tools/releasetools/check_ota_package_signature.py \
bootable/recovery/tests/testdata/testkey_v1.x509.pem \
bootable/recovery/tests/testdata/otasigned_v1.zip
Package: bootable/recovery/tests/testdata/otasigned_v1.zip
Certificate: bootable/recovery/tests/testdata/testkey_v1.x509.pem
Comment length: 1738
Signed data length: 2269
Use SHA-256: False
Digest:
115e688ec3b77743070b743453e2fc6ce8754484
VERIFIED
Bug:
31523193
Test: Used the tool to verify existing packages (like above).
Change-Id: I71d3569e858c729cb64825c5c7688ededc397aa8
Treehugger Robot [Fri, 16 Sep 2016 21:46:20 +0000 (21:46 +0000)]
Merge "Remove objclean"
Dan Willemsen [Fri, 16 Sep 2016 17:03:22 +0000 (10:03 -0700)]
Only update previous product config when changed
I'm working on removing the --ignore_dirty=$(OUT_DIR)/% argument from
Kati. If we're always writing to a file that we're also reading, then
with that flag removed, we'll always reparse all the makefiles.
So instead, use the method from the generated java file cleanup where we
read from a "previous" file, write to a "current" file, then use a
cmp || mv to overwrite the "previous" file if necessary. When the flag
is removed, this will cause Kati to need to run twice any time this
changes, but it's better than forever.
Bug:
30947985
Test: Switch between aosp_arm-eng and full-eng
Change-Id: Id2d1445809b60ce26700bb2aca765df3b5c2b360
Dan Willemsen [Fri, 16 Sep 2016 05:03:04 +0000 (22:03 -0700)]
Remove objclean
We don't need to manually remove objects when switching SANITIZE_TARGET
-- that will be handled by Ninja noticing that the command lines are
different.
Bug:
30947985
Test: None
Change-Id: I83c15981cf6ea258bb7fa85490b0b1ede1058aa6
Treehugger Robot [Fri, 16 Sep 2016 06:40:32 +0000 (06:40 +0000)]
Merge changes from topics 'ndk-compiler-rt_extras', 'ndk-libc++-libdl'
* changes:
Use libcompiler-rt_extras with NDK builds.
Always link libdl with libc++ for the NDK.
Treehugger Robot [Fri, 16 Sep 2016 02:06:18 +0000 (02:06 +0000)]
Merge "Fix typo in coverage target out path."
Ryan Campbell [Fri, 16 Sep 2016 00:32:13 +0000 (17:32 -0700)]
Fix typo in coverage target out path.
Change-Id: I4a448708ab74e08b2c515039ee5d71c32861214e
Dan Willemsen [Thu, 15 Sep 2016 04:38:29 +0000 (21:38 -0700)]
Fix link_type checking
This was printing "error:", but not actually triggering an error.
Instead of trying to write a single line bash script to handle this,
move the actual check into python. This allows us to print all of the
errors for a single module before triggering the failure.
Also updates the warning format and the warn.py script to properly parse
these warning. Many of the java:sdk -> java:platform warnings are false
positives due to the lack of LOCAL_SDK_VERSION markings on prebuilts.
Individual tags can be marked as warnings now, which lets us check for
system libraries linking against vendor libraries (which won't work on
AOSP). I'm not sure this is a completely valid check, which one reason
that it's just a warning.
Test: m all_link_types (with some missing libs commented out)
Change-Id: I333e418c9a4511b7c7e826891ae481da08fbf6f9
Treehugger Robot [Thu, 15 Sep 2016 18:27:45 +0000 (18:27 +0000)]
Merge "Remove SRC_SYSTEM_HEADERS"
Colin Cross [Thu, 15 Sep 2016 16:29:15 +0000 (09:29 -0700)]
Remove SRC_SYSTEM_HEADERS
It is inherited from Soong now.
Bug:
31492149
Change-Id: Ia9bfd9662dba16032dac68b55b4f0743c0688139
Treehugger Robot [Thu, 15 Sep 2016 03:41:24 +0000 (03:41 +0000)]
Merge "goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set."
Dan Albert [Wed, 14 Sep 2016 23:08:48 +0000 (16:08 -0700)]
Use libcompiler-rt_extras with NDK builds.
We want to build things in CTS (things built against the NDK) with
integer overflow checks. Some projects in the tree also make explicit
calls to the overflow checked builtins, and those projects need to be
built with the NDK (external/dng_sdk is the specific example that
brought this up).
Test: make checkbuild tests
Bug: None
Change-Id: Iab27dd0d931f723140de242049fa72f3b1ce0fb8
Dan Albert [Wed, 14 Sep 2016 23:08:04 +0000 (16:08 -0700)]
Always link libdl with libc++ for the NDK.
libc++ requires libdl whether it's statically linked or not.
Test: make checkbuild tests
Bug: None
Change-Id: I8abdcfaef779b358196716ab1193cebe278317ac
Chih-hung Hsieh [Wed, 14 Sep 2016 16:39:26 +0000 (16:39 +0000)]
Merge "Emit a table of warnings by project and severity."
Dan Willemsen [Tue, 13 Sep 2016 22:39:20 +0000 (22:39 +0000)]
Merge "Fix shared library install dependencies outside of /system"
Dan Willemsen [Tue, 13 Sep 2016 20:28:51 +0000 (13:28 -0700)]
Fix shared library install dependencies outside of /system
For properly picking the shared library install dependencies, HOST_OUT
and HOST_CROSS_OUT are necessary so that we don't add a dependency
between Linux and Windows. But for target modules, we must use
TARGET_OUT_ROOT instead of TARGET_OUT, or modules in /data and /vendor
won't have proper install dependencies.
Bug:
31462199
Test: m bionic-unit-tests; manual diff of generated ninja file
Change-Id: I828fa2664613296cc6c431813f5657abffdd2b8f
Ryan Campbell [Tue, 13 Sep 2016 19:48:34 +0000 (19:48 +0000)]
Merge "Implement path-based enabling of code coverage."
Treehugger Robot [Tue, 13 Sep 2016 19:19:46 +0000 (19:19 +0000)]
Merge "Fix building static linux binaries"
Dan Willemsen [Tue, 13 Sep 2016 17:44:44 +0000 (10:44 -0700)]
Fix building static linux binaries
BUILD_HOST_static has been broken because I was stripping
-Wl,--start-group/-Wl,--end-group into a separate set of ldflags instead
of keeping them wrapped around some of the ldlibs. So don't pass some of
the build system flags through the ldlibs checker.
Bug:
30898128
Change-Id: I332b42679695cdc5da3cb0036290b6a3544699c0
Ryan Campbell [Mon, 12 Sep 2016 20:56:50 +0000 (13:56 -0700)]
Implement path-based enabling of code coverage.
Native coverage is enabled by setting NATIVE_COVERAGE to true
and specifying a list of paths in the COVERAGE_PATHS
environment variable. Files are exported to a zip file in the
target out directory.
Change-Id: I66a2ddd88e849bec1cc0cdae1b51fe18a007e2c3
Chih-Hung Hsieh [Mon, 12 Sep 2016 23:20:49 +0000 (16:20 -0700)]
Emit a table of warnings by project and severity.
* Use 't1' CSS class for main warning tables,
and default table style for new warning count table.
* Count total skipped warnings.
* Append count of warnings in each severity header.
* Fix some skipped warning patterns and count/dump skipped warnings.
* Add dumpskippedanchors function to fix expand_collapse
error when --byproject flag is used and severity.SKIP
is not emitted.
* Minor coding style changes:
* Loop through severity.kinds.
* Remove unused import.
* Add spaces around assignment operators.
* Adjust indentation.
Bug:
31377083
Test: run warn.py with build.log
Change-Id: I68949edc4601b10ea2f7ac84e48e6c3da4ab1e4f
Treehugger Robot [Tue, 13 Sep 2016 04:29:36 +0000 (04:29 +0000)]
Merge "Remove incremental workaround for aapt overlays"
Yoshisato Yanagisawa [Tue, 13 Sep 2016 03:53:08 +0000 (12:53 +0900)]
goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set.
During the development of goma client, we sometimes need to use goma
compiler_proxy, which has already been running.
Test: NOSTART_GOMA=1 USE_GOMA=1 m.
Change-Id: Ifa969c40871325fd43ee6443ddbe3b18fde62c5a
Dan Willemsen [Tue, 13 Sep 2016 03:26:33 +0000 (20:26 -0700)]
Remove incremental workaround for aapt overlays
This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.
Test: switch between product overlays that use add-resource, verify
R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020