Commit graph

29928 commits

Author SHA1 Message Date
Dan Willemsen
720a966ce5 Merge \"Extend SDK link check to java libraries\"
am: e706372ba1

Change-Id: Ia4cb9cfe94da5bdccce8726ed8777de13638bada
2016-07-11 20:27:08 +00:00
Dan Willemsen
e706372ba1 Merge "Extend SDK link check to java libraries" 2016-07-11 20:20:40 +00:00
Tao Bao
538ed261eb resolve merge conflicts of 4058a71 to stage-aosp-master
Change-Id: I0816bfc5d8adb20e175617d97651f1474ce4e916
2016-07-11 09:08:24 -07:00
Treehugger Robot
4058a71747 Merge changes from topic 'imgdiff-squashfs'
* changes:
  releasetools: Fix the detection of using squashfs.
  releasetools: Disable using imgdiff for squashfs.
2016-07-11 15:55:51 +00:00
Tao Bao
62a6c464a2 releasetools: Fix the detection of using squashfs.
We should disable using imgdiff if *any* of the source and target
partitions uses squashfs.

Bug: 30004734
Test: Create an incremental with two builds with one of them uses squashfs.
Change-Id: I826cd13d7b852c548e4b45e61f5ae00f6407cac3
(cherry picked from commit f8acad1480)
2016-07-10 23:16:14 -07:00
Tao Bao
b6568cd4be releasetools: Disable using imgdiff for squashfs.
We use imgdiff to handle files in zip format (e.g. jar/zip/apk) for
higher compression ratio.

For system/vendor in squashfs, a) all files are compressed in LZ4
format; b) we use 4096-byte block size in their sparse images, but the
files in squashfs may not be laid out as 4K-aligned. So the blocks for
a given file as listed in block map may not form a valid zip file, which
may fail the patch generation with imgdiff.

Disable using imgdiff for squashfs images, and use bsdiff instead.

Bug: 22322817
Change-Id: Ie76aa4cece5c9d38cb1d1a34c505a4a8f37512d3
(cherry picked from commit 293fd135c7)
2016-07-10 23:15:48 -07:00
Dan Willemsen
62dfb591b1 Extend SDK link check to java libraries
Java code using the SDK should not link to java code built with the
platform APIs or the system SDK. Java code using the system SDK should
not link to the platform APIs either, but it can link to java code using
another SDK.

Change-Id: Iaae0a7e01993cfa1e023649fbd8a7974b5eca709
2016-07-09 04:42:15 +00:00
Tao Bao
c4449f819c Merge \"releasetools: Fix the payload public key replacement.\"
am: 8a09095c34

Change-Id: I464ec9dd1a12dcb06bc1dcbf340fdcbac04b9575
2016-07-08 21:09:20 +00:00
Treehugger Robot
8a09095c34 Merge "releasetools: Fix the payload public key replacement." 2016-07-08 20:58:49 +00:00
Tao Bao
13b6962e8d releasetools: Fix the payload public key replacement.
update_engine expects the extracted public key instead of the
certificate.

Bug: 28701652
Change-Id: I292d39da9e039f96d01a4214226aeb46f8cb881d
(cherry picked from commit afaf295cb8)
2016-07-08 12:52:45 -07:00
Alex Klyubin
ee7d7e3506 Merge \"Move apksigner library to tools/apksig.\"
am: c78147c650

Change-Id: I34e66d67736fb0a671f8030b4c94983a908e5d8c
2016-07-07 20:40:05 +00:00
Treehugger Robot
c78147c650 Merge "Move apksigner library to tools/apksig." 2016-07-07 20:33:05 +00:00
Colin Cross
a00b2765cf Merge \"Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts\"
am: aa3525dcf1

Change-Id: I968afb2a8abfe9763a6fc1ee7eff5abf41d3a094
2016-07-07 19:21:19 +00:00
Treehugger Robot
aa3525dcf1 Merge "Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts" 2016-07-07 19:14:54 +00:00
Chih-Hung Hsieh
6beef3807d Merge \"Recognize new C/C++ compiler and static analyzer warnings.\"
am: 1734523900

Change-Id: I71b8f324ad88ff38b077ba1763c163f9d80a30fa
2016-07-07 18:24:12 +00:00
Colin Cross
5d934c7924 Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts
Change-Id: I92a838b07fe4116d5a4b8521fe1ce8d44e6e84e2
2016-07-07 11:16:49 -07:00
Treehugger Robot
1734523900 Merge "Recognize new C/C++ compiler and static analyzer warnings." 2016-07-07 18:07:21 +00:00
Alex Klyubin
1b09a508ba Move apksigner library to tools/apksig.
This moves build/tools/apksigner/core to its own project tools/apksig.
The move also renames the moved Java packages from
com.android.apksigner.core.* to com.android.apksig.* to reflect the
new name of the library.

Bug: 27461702
Change-Id: Iab812ae2b8f0a741014f842460c78e35bc249d43
2016-07-07 10:53:14 -07:00
Dan Willemsen
83de5d619a Merge \"Never add asan libraries to NDK code\"
am: 59a405c831

Change-Id: I6e6129204efe2478c5f7ff6ea0bf04e81203c113
2016-07-07 17:17:44 +00:00
Dan Willemsen
59a405c831 Merge "Never add asan libraries to NDK code" 2016-07-07 17:07:43 +00:00
Alex Klyubin
69c8c38f63 Merge \"APK signer primitive.\"
am: d81beca2b2

Change-Id: I9570df7b5f7a70b4fdd04cbbdeae80d3e5bf9616
2016-07-06 23:14:09 +00:00
Treehugger Robot
d81beca2b2 Merge "APK signer primitive." 2016-07-06 22:59:32 +00:00
Chih-Hung Hsieh
8d14543a9b Recognize new C/C++ compiler and static analyzer warnings.
Change-Id: I5f47c45498c640702922704aa5305a85e9493fcc
Test: run with Android build.log.
2016-07-06 10:22:23 -07:00
Evgenii Stepanov
9223ab05ae Merge \"Apply SANITIZE_TARGET=safe-stack to 64 bit targets only.\"
am: 997a6cd1a1

Change-Id: Ic8bc436901efd0b8ba099d68b61faa46a8d503fd
2016-07-01 20:22:41 +00:00
Evgenii Stepanov
120112ee23 Merge \"Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present.\"
am: 9c88e0bfa2

Change-Id: I828de48b2f552801ec83c11f493eaaacb5f83e47
2016-07-01 20:17:39 +00:00
Evgenii Stepanov
997a6cd1a1 Merge "Apply SANITIZE_TARGET=safe-stack to 64 bit targets only." 2016-07-01 20:09:45 +00:00
Evgenii Stepanov
7dcb8b80c5 Apply SANITIZE_TARGET=safe-stack to 64 bit targets only.
Bug: 27729263
Change-Id: I214a9f40b94f6e6716aca05be774f014e62f73e8
2016-07-01 20:07:38 +00:00
Evgenii Stepanov
9c88e0bfa2 Merge "Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present." 2016-07-01 20:07:05 +00:00
Evgenii Stepanov
71faa1990b Apply SANITIZE_TARGET and LOCAL_SANITIZE when both are present.
The idea is that targets with LOCAL_SANITIZE = signed-integer-overflow
and SANITIZE_TARGET=safe-stack should get both sanitizers.
This should work just fine for SANITIZE_TARGET=address, too.

Bug: 27729263
Change-Id: Ifee350da4877008fb061bc7f6c700e7fade405bc
2016-07-01 20:06:34 +00:00
Andreas Gampe
ae492fd5f2 resolve merge conflicts of 9d73af0 to stage-aosp-master
Change-Id: I984c48310e72cb509b859501cfb07258214038fa
2016-06-30 21:42:44 -07:00
Andreas Gampe
80b32402dc Merge \"Build: Fix vendor sanitizer library for secondary arch\"
am: 2302a76966

Change-Id: I2b21579df22b08655cdc9eab2d570304b167b5b6
2016-07-01 04:33:43 +00:00
Treehugger Robot
9d73af0934 Merge changes I17a96b97,Ib4412657,I73e6d479
* changes:
  Build: Add module-level product configuration of sanitization
  Build: Add option to restrict sanitization by owner
  Build: Add option to restrict sanitization by architecture
2016-07-01 04:26:26 +00:00
Treehugger Robot
2302a76966 Merge "Build: Fix vendor sanitizer library for secondary arch" 2016-07-01 04:24:46 +00:00
Andreas Gampe
cf6268f471 Build: Fix vendor sanitizer library for secondary arch
Fix the directory for secondary-architecture libraries under
sanitization. These incorrectly wrote into vendor/lib instead
of data/vendor/lib.

Bug: 29498013
Change-Id: Iee08422a1f7ad42cbe71a322347e98cb74e3ef7f
2016-06-30 20:20:38 -07:00
Evgenii Stepanov
bd9f3f6187 Merge \"Sanitizer build tweaks.\"
am: 24dc27e643

Change-Id: I351ba996ee3ed77f6400e48149c972e271476a8f
2016-07-01 00:47:39 +00:00
Evgenii Stepanov
24dc27e643 Merge "Sanitizer build tweaks." 2016-07-01 00:42:12 +00:00
Evgenii Stepanov
912b51f8ab Sanitizer build tweaks.
-Wl,-no-undefined is currently disabled for any SANITIZE_TARGET. Limit that to
the sanitizers with a runtime library (i.e. address, thread).

Re-enable the relocation packer for ASan. This has been fixed upstream a long
time ago.

Bug: 27729263
Change-Id: I566df6104de816223dc1c519d41a87629ce9c47c
2016-07-01 00:41:33 +00:00
Evgenii Stepanov
2890414f78 Merge \"Only add libdl dependency for ASan/TSan on target.\"
am: 3d8ee8896b

Change-Id: I97e2daed8c10a325e27969c2fcaac1848dfefa80
2016-06-30 23:50:50 +00:00
Evgenii Stepanov
3d8ee8896b Merge "Only add libdl dependency for ASan/TSan on target." 2016-06-30 23:49:26 +00:00
Evgenii Stepanov
55f73e6c43 Only add libdl dependency for ASan/TSan on target.
Only sanitizers that intercept stuff need that. For example,
SafeStack does not, and I think UBSan too.

Bug: 27729263
Change-Id: I413cd46cc6c6914a363a3c53da7954beacd8f0d8
2016-06-30 23:49:03 +00:00
Evgenii Stepanov
e6350dfddd resolve merge conflicts of ff3341b to stage-aosp-master
Change-Id: I1883410889b8e6c6505042fcebca6c8764e15e9a
2016-06-30 16:34:49 -07:00
Andreas Gampe
6b30d770f0 Build: Add module-level product configuration of sanitization
To allow special sanitizer settings for modules shared between
products, add product-specific module settings.

This was copied from the product-specific dexopt settings.

Bug: 29498013
Change-Id: I17a96b975bb6ac7f4ffb3d5b08e2f00b21bd97a1
(cherry picked from commit bb5454b6db)
2016-06-30 16:21:36 -07:00
Andreas Gampe
3d3b0c950d Build: Add option to restrict sanitization by owner
Add Make variable SANITIZE_NEVER_BY_OWNER to selectively
sanitize modules. By default, both are being sanitized. The
value of the variable is interpreted as a space or colon
separated list of owner names.

This can be used to create builds that lower the sanitization
burden by not sanitizing parts of the platform.

Bug: 29498013
Change-Id: Ib4412657fd38ff28a5c0863eddc2acde63c88ebb
(cherry picked from commit ea38d8e95d)
2016-06-30 16:20:03 -07:00
Andreas Gampe
cd25740cba Build: Add option to restrict sanitization by architecture
Add Make variable SANITIZE_ARCH to selectively sanitize binaries.
This uses the "bitness," i.e., 32 or 64, to potentially filter
the sanitization. By default, both are being sanitized.

This can be used to create builds that lower the sanitization
burden by not sanitizing "half" of the platform.

Bug: 29498013
Change-Id: I73e6d479f08a970ba912f4f63967d32f3487125f
(cherry picked from commit 0290a416c8)
2016-06-30 16:19:53 -07:00
Evgenii Stepanov
ff3341b33b Merge "Add LOCAL_NOSANITIZE." 2016-06-30 22:49:52 +00:00
Evgenii Stepanov
428236614a Add LOCAL_NOSANITIZE.
This can be used to selectively disable individual sanitizers on a
target. For example, some parts of libc should be built with
SafeStack (when requested with SANITIZE_TARGET), but never with
AddressSanitizer. Current build rules specify LOCAL_SANITIZE := never
to disable AddressSanitizer; the idea is to change that to
LOCAL_NOSANITIZE := address thread.

Bug: 27729263
Change-Id: I2b770f2ce3faf6ad6798792327e96adb86fe4a4f
2016-06-30 22:49:17 +00:00
Dan Willemsen
db9f3489bc Merge \"Detect \uname -m\ == i686 as a 32-bit host\"
am: 55d4a46f6d

Change-Id: Ia66952b98541755c55df1eb98775d749d2155dc1
2016-06-29 20:39:42 +00:00
Treehugger Robot
55d4a46f6d Merge "Detect uname -m == i686 as a 32-bit host" 2016-06-29 20:37:13 +00:00
Dan Willemsen
88225fdfbe Detect uname -m == i686 as a 32-bit host
Change-Id: I0350629ce6ea7a5f0224489bafc98bc190e70932
Test: UNAME from https://groups.google.com/d/msg/android-building/nGQna2xuW5s/eEcXSo9ZBgAJ
2016-06-29 12:30:56 -07:00
Tianjie Xu
85da4d3566 Merge \"Skip copying existing vendor images\"
am: 1767d3f918

Change-Id: I5f929adedb17b6d32d2e0e284aa37c39c643c3ea
2016-06-29 18:45:57 +00:00