Commit Graph

10777 Commits

Author SHA1 Message Date
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
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
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
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
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
Yi Kong
09d7992067 Merge \"Add jdk.net to whitelist\"
am: d2f4cbbf88

Change-Id: I80f7f529659953fd5664211e2a779d09e2245d34
2016-06-29 11:06:23 +00:00
Yi Kong
d2f4cbbf88 Merge "Add jdk.net to whitelist" 2016-06-29 11:00:47 +00:00
Dan Willemsen
f761c0f574 Never add asan libraries to NDK code
We're beginning to enforce (still warning) that NDK code only links to
other NDK code. So we should never need to link them to the address
sanitizer libraries.

This breaks down a bit when platform code starts depending on NDK-built
code, where the NDK-built code should be mostly the same as if it was
built with the platform, but has an implicit LOCAL_SANITIZE := never.
Even so, this change shouldn't make that worse, as we'll still compile
fine, and anything platform code that uses asan should pull in the
shared library.

Change-Id: I81b30b9edd971468c3cb1467f809f184807b505e
2016-06-28 16:47:43 -07:00
Badhri Jagan Sridharan
45373976b1 Merge \"Extract public key ID from cert\"
am: 606ad22def

Change-Id: Idfc1ff8ec8766d4b15a5b1908a8eb830e28b42f3
2016-06-28 23:40:22 +00:00
Badhri Jagan Sridharan
997c9af7b1 Add build variant to kernel command line
Verity is not enabled in eng builds. Pass the build variant so
that kernel does not try to enable verity in eng builds

BUG:29276559
Change-Id: I7f412196ac59aa63e91c21d825ad15bae9f51691
2016-06-28 23:36:45 +00:00
Badhri Jagan Sridharan
131e1977f6 Extract public key ID from cert
Extracts keyid inline using openssl commands.
The keyid is passed as one of the kernel command line parameters
for the dm-android-verity module to mount root fs(system)
with verity enabled.

(cherry-picked from 3af315aed5
https://googleplex-android-review.git.corp.google.com/#/c/1061691/)

BUG: 28384658
Change-Id: I8efbe1b0e415ef1d396f9b51cfa4b3fa01b22484
2016-06-28 23:35:41 +00:00
Dan Willemsen
90f03ecfee Merge \"Turn unused source files from warning to error\"
am: 73609480b3

Change-Id: Iddedac74a78968eb438bddae1e22633ba8c13375
2016-06-28 19:48:32 +00:00
Dan Willemsen
9efeb1ea4f Turn unused source files from warning to error
All instances have disappeared from the build server, so switch this to
error before more turn up.

Change-Id: Iac07526a6e77ebf33733033249f2a108aae3fa7d
2016-06-28 10:22:08 -07:00
Hung-ying Tyan
00e23a1d8f Merge \\"Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES\\" am: 2acb2d5bcf
am: 200da242a5

Change-Id: I93d1b301c23265e783e68de5e066606764b90ffc
2016-06-28 06:24:48 +00:00
Hung-ying Tyan
200da242a5 Merge \"Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES\"
am: 2acb2d5bcf

Change-Id: I3c151949bcc6b8d75f2c46619b6ce38561084338
2016-06-28 06:22:17 +00:00
Hung-ying Tyan
3c054d8e1f Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES
Allow exceptions specified by module (VENDOR_EXCEPTION_MODULES) and
path (VENDOR_EXCEPTION_PATHS, not including leading vendor/).

BUG=26968426

Change-Id: I068e43f3eae14f8793c33ae916d46979ab1681d1
2016-06-28 10:10:53 +08:00
Christopher Wiley
28db78a499 Merge \\"Fix typo in setting PRIVATE_MODULE for AIDL source\\" am: 05038d84dc
am: 2ee4f68d38

Change-Id: Ifd141422ed041b077ba1f3c098b85b8d93feda42
2016-06-24 21:32:07 +00:00
Christopher Wiley
2ee4f68d38 Merge \"Fix typo in setting PRIVATE_MODULE for AIDL source\"
am: 05038d84dc

Change-Id: I3fb16f448c48e9e14fb4e7080c2955c3d38c6d11
2016-06-24 21:29:55 +00:00
Christopher Wiley
dc9e2675e6 Fix typo in setting PRIVATE_MODULE for AIDL source
Bug: 29619260
Change-Id: I59f883c1a92075800844cc2a77b307782a9ab800
2016-06-24 13:13:52 -07:00
David Sehr
0aa5ad21f1 Merge \\"Filter logging from dexdump/dex2oat to errors only\\" am: be6b4fc1b3
am: 5efb73504d

Change-Id: I3a39624a5ce329f67c30ce71b00f685abd14f569
2016-06-24 18:17:04 +00:00
David Sehr
5efb73504d Merge \"Filter logging from dexdump/dex2oat to errors only\"
am: be6b4fc1b3

Change-Id: Ib938b1bbf29e482d02c2c3b7d5a5948ba2afee9a
2016-06-24 18:12:08 +00:00
Yi Kong
066a9c3e53 Add jdk.net to whitelist
Tracks libcore commit a434f3be3c22c6b3e7ddd426766808e76a5780fd

Bug: 29067535
Change-Id: I764b602aa0f2a991dc26b5fd42a1143bb58d67ba
2016-06-24 18:57:55 +01:00
David Sehr
49fbdd1f28 Filter logging from dexdump/dex2oat to errors only
Change-Id: Idb3f1c3d216e2db87ce3b03cbacc6fc3ceff37e0
2016-06-24 09:27:00 -07:00
Christopher Wiley
36b50e7897 Merge \\"Fix path escaping for aidl generated java\\" am: 7e918b6a46
am: 752860dcfc

Change-Id: Ia7ffaba007d115872f1d06f9f98ddeb993d11c9e
2016-06-24 16:23:31 +00:00
Christopher Wiley
752860dcfc Merge \"Fix path escaping for aidl generated java\"
am: 7e918b6a46

Change-Id: I8e50a344d17c4585a725db95386ef6e0eb50fa58
2016-06-24 16:19:25 +00:00
Christopher Wiley
d9205ba17e Fix path escaping for aidl generated java
Bug: 29619260
Change-Id: I806044573661c61e691adf36a47092188db87ab6
Test: Generated java with ../ in paths appears in the right place.
2016-06-23 16:49:32 -07:00
Dan Willemsen
24260479f3 Merge \\"Finish refactoring tests to NATIVE_TESTS\\" am: 239f2b0f9f
am: fed8d9e9f7

Change-Id: I66fd8b66a0acbc2fbb653bf2d90d3a68727d14e8
2016-06-22 20:44:42 +00:00
Dan Willemsen
fed8d9e9f7 Merge \"Finish refactoring tests to NATIVE_TESTS\"
am: 239f2b0f9f

Change-Id: If34f994893a9ad00cadb3a6124ee21ccf36b142c
2016-06-22 20:41:57 +00:00
Dan Willemsen
e1c6deab10 Finish refactoring tests to NATIVE_TESTS
Now that the source trees all use NATIVE_TESTS for intermediate files
and generated sources, make it a requirement.

Change-Id: Id5718fabe63f6e8dde7981a6f0f5bd89e0ec7ee5
2016-06-22 00:27:54 -07:00
Zach Jang
a36f36dcc0 resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29 am: cbf1e2cc94 am: 9fc3cf7ba2 am: 3749025ccb am: e7bc1542db am: 1be6c69524
am: 1f87a820ad

Change-Id: If484b9ee55f16b85cead3587d08c757ae8df6d2b
2016-06-22 01:46:17 +00:00
Zach Jang
1f87a820ad resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29 am: cbf1e2cc94 am: 9fc3cf7ba2 am: 3749025ccb am: e7bc1542db
am: 1be6c69524

Change-Id: If5d6ea4889550f45ef2a8f0ebf53a1e656c39010
2016-06-22 01:43:47 +00:00
Zach Jang
1be6c69524 resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29 am: cbf1e2cc94 am: 9fc3cf7ba2 am: 3749025ccb
am: e7bc1542db

Change-Id: I316c25839b0e111bda05ba586733e3712eda5a32
2016-06-22 01:41:13 +00:00
Zach Jang
e7bc1542db resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29 am: cbf1e2cc94 am: 9fc3cf7ba2
am: 3749025ccb

Change-Id: Idadb32ede7b3699e0db8ce632d37e7d2cf99e82b
2016-06-22 01:38:31 +00:00
Zach Jang
3749025ccb resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29 am: cbf1e2cc94
am: 9fc3cf7ba2

Change-Id: Idcd5da62fd7c36da94af3a15f35d179e1a3940f2
2016-06-22 01:35:58 +00:00
Zach Jang
9fc3cf7ba2 resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40 am: cf51c6cb29
am: cbf1e2cc94

Change-Id: I72cff95d6f8878b5d3707f0b0f9c0541c89b9aa5
2016-06-22 01:33:23 +00:00
Zach Jang
cbf1e2cc94 resolve merge conflicts of 12db224 to lmp-mr1-dev am: 0c672afc40
am: cf51c6cb29

Change-Id: Id5206a36ff4cee1de3e15f9d5efc64ee731434ee
2016-06-22 01:30:23 +00:00
Zach Jang
cf51c6cb29 resolve merge conflicts of 12db224 to lmp-mr1-dev
am: 0c672afc40

Change-Id: Ibfaa4fa1c68fff09bbee52855a99e296bb603d45
2016-06-22 01:27:49 +00:00
Zach Jang
0c672afc40 resolve merge conflicts of 12db224 to lmp-mr1-dev
Change-Id: I8ef3cd2c1d9eb2e4aefe3c678f0a6bb0fdf74c29
2016-06-21 18:23:46 -07:00