Commit graph

8534 commits

Author SHA1 Message Date
Tao Bao
f8e6fbe2f5 Build delta_generator for A/B update.
delta_generator computes the OTA package (aka payload) for A/B update.
Also add its dependent libraries into otatools.zip.

Bug: 25715402
Change-Id: Iddf4b9ac188cc4c8bf3f89ce3641d68451632ba1
2016-01-04 09:57:32 -08:00
Narayan Kamath
cdc3d5ac03 Revert "Temporary workaround to build bouncycastle / nist-pkits"
This reverts commit 3006881f84.
2015-12-24 12:39:51 +00:00
Narayan Kamath
3006881f84 Temporary workaround to build bouncycastle / nist-pkits
Change-Id: I20bb834f08eeff03f627ab7d8f422a5ba9f3eb1a
2015-12-24 11:49:45 +00:00
Jeff Hao
5aabca204f Build: Build changes for multi oat/image support.
Use the --multi-image option to generate a preopted boot image. This
generates a separate oat file and image file output for each dex file
input.

Stop inlining core.

(cherry picked from commit d1d3fd933f)

Change-Id: Ibd23bc06d346ff404cabd88f7461f041af6016dd
2015-12-24 10:10:55 +00:00
Narayan Kamath
76c7d68ed9 Allow modules to override the default NOTICE file.
It's useful in projects where different top level modules have
different licenses associated with them.

(cherry picked from commit 3026f4daf1)

Change-Id: I71b20d6f979c0f50562f4f44b2af1f3ec2909444
2015-12-24 10:10:55 +00:00
Przemyslaw Szczepaniak
20de4fa41c Allow for 5200 words in dump-words-to-file
After switching to OpenJdk,  doc-comment-check target
started to fail due to "Too many words (5082)" while
generating out/target/common/docs/doc-comment-check-timestamp.rsp
This change extends number of dumped words to 5200.

Bug: 25758743

(cherry picked from commit 972a2681c6)

Change-Id: I9b8516d1e7c113d667dcfb7963ee352972677afa
2015-12-24 10:10:55 +00:00
Narayan Kamath
436d0c1117 Update the package whitelist for the boot image.
.. to track the inclusion of OpenJdk.

(cherry picked from commit b3c9e4a22e)

Change-Id: Ie7277a0403dee9ccd114d9dcb7bf95cdaf5688a0
2015-12-24 10:10:55 +00:00
Piotr Jastrzebski
052a00f64e Use core-oj alongside core-libart wherever required.
With some core classes moved to separate core-oj jar
we need to use the new jar.

(cherry picked from commit 89b94c827f)

Change-Id: I025c0adc70535bf23def3ab0ce28a1bfaef72514
2015-12-24 10:10:55 +00:00
Nick Kralevich
f9911ae087 Merge "set ro.adb.secure=1 for user builds" 2015-12-23 20:22:30 +00:00
Daniel Micay
18a141cc8c set ro.adb.secure=1 for user builds
In user builds, adb without authentication is always disabled. However,
it doesn't work with the defaults because authentication doesn't work
without having ro.adb.secure=1 set. It makes sense to offer builds with
no adb but not builds with adb present in an unusable state (especially
as the default).

Bug: 22220212
Bug: 21862859
Change-Id: Ic22300a70586fd57692ac59d6873ab16dde70919
2015-12-23 20:18:15 +00:00
Tao Bao
9d4dbe09ed Merge "Makefile: Clean up the condition for RECOVERY_RESOURCE_ZIP." 2015-12-22 22:22:44 +00:00
Dan Willemsen
d52953e9ed Merge "Default LOCAL_MULTILIB:=both for HOST_NATIVE_TEST" 2015-12-22 22:05:30 +00:00
Tao Bao
4594d0e0fd Makefile: Clean up the condition for RECOVERY_RESOURCE_ZIP.
Change-Id: I6909d4572bd54da48f7fd6b76d4a5ee03c84206c
2015-12-22 11:28:35 -08:00
Yohann Roussel
4a01711267 Merge "Always start jack server before first call to jack" 2015-12-22 13:59:49 +00:00
Dan Willemsen
8b9a464de4 Default LOCAL_MULTILIB:=both for HOST_NATIVE_TEST
The target BUILD_NATIVE_TEST defaults to building both 32 and 64-bit
versions of the tests. Many of our host tests have opted into this
manually, but some have not. Switch the default on the host tests to
stay consistent.

To preserve script compatibility, a symlink remains pointing to the
binary that would have been built before this change.

Change-Id: I9585984e933c2ac36134fc1968736c0bb5fea7be
2015-12-21 16:34:25 -08:00
Shinichiro Hamaji
67e960b70f Merge "Do not use $? in recipe" 2015-12-21 22:46:01 +00:00
Daniel Rosenberg
40ef35b9e9 Allow building recovery as boot.
With BOARD_USES_RECOVERY_AS_BOOT = true, we skip building the
non-ramdisk boot.img but building the recovery image as boot.img. It
contains recovery's ramdisk (e.g. with /sbin/recovery). It depends on
the bootloader parameter (skip_initramfs) to determine the actual mode
to boot into.

Change-Id: Id6e2d0a2b94383944ca8f35bba688c6401745622
(cherry picked from commit d80bef2b9e)
2015-12-21 11:17:08 -08:00
Evgenii Stepanov
18733b9b0c Merge "Remove RPATH for AddressSanitizer." 2015-12-21 18:32:36 +00:00
Evgenii Stepanov
bbd944a25d Remove RPATH for AddressSanitizer.
RPATH was used in order for ASan executables to prefer ASan libraries
under /data. Now ASan executables use a special loader (linker_asan),
which implements this logic. RPATH is no longer needed.

Change-Id: Ic7a39b022267b80bd0ce3e95a2e822eb308a1fba
2015-12-21 10:29:54 -08:00
Shinichiro Hamaji
9cb76922aa Do not use $? in recipe
Kati cannot support this automatic variable as ninja doesn't
have a feature for this.

Change-Id: Ibc3a18dc5739b5008b156d2672a626621e046f5a
2015-12-22 00:55:37 +09:00
Yohann Roussel
2983fd4b0f Merge "Do not set Jack source version, use default" 2015-12-21 12:57:29 +00:00
Shinichiro Hamaji
6c90e49f4a Merge "Disable goma/ccache with USE_XXX=false" 2015-12-21 05:48:44 +00:00
Elliott Hughes
03b7effb8d Merge "Enable -fstack-protector-strong for arm64." 2015-12-18 21:36:49 +00:00
Elliott Hughes
7fca8a373f Merge "Enable -fstack-protector-strong for arm." 2015-12-18 21:36:27 +00:00
Yohann Roussel
09ee66e2b4 Do not set Jack source version, use default
Default source version is 1.7 in Jack B and Jack C so this means no
change to default. Not forcing it in the build rules will allow to
change it in LOCAL_JACK_FLAGS.

Bug: 26257295
Change-Id: If9b5fe250eea4bc6bcb3c16ad9cf7024d399ff3c
2015-12-18 10:30:21 +01:00
Shinichiro Hamaji
d78cba12fe Disable goma/ccache with USE_XXX=false
Bug: 26009364
Change-Id: Ic0001e6fdc62ca2373309bfe3127c5fec64d2d85
2015-12-18 15:26:17 +09:00
Neil Fuller
d49e55561a Merge "Set -Xdoclint:none" 2015-12-17 10:18:28 +00:00
Dan Willemsen
e63d3328df Merge "Define __BRILLO__ only for target modules" 2015-12-16 23:30:40 +00:00
Dan Willemsen
3931873418 Merge "Move __BRILLO__ to the core build system" 2015-12-16 23:14:09 +00:00
Dan Willemsen
de6494b9ae Define __BRILLO__ only for target modules
__ANDROID__ is only defined for target modules, do the same for
__BRILLO__.

Change-Id: Ie1417e1a5b21c051acf05b2bd3bdb3ddd31be878
2015-12-16 15:04:51 -08:00
Dan Willemsen
16e7e0f556 Move __BRILLO__ to the core build system
In preparation for locking down COMMON_GLOBAL_CFLAGS.

Bug: 26165350
Change-Id: Ifdfb7808c1e1b624ffb0f99ab443ec2c5503a81c
2015-12-16 14:28:21 -08:00
Todd Poynor
ffce16c7e6 Merge "Make squashfs sparse image generation optional" 2015-12-16 22:12:53 +00:00
Ying Wang
e9430e2361 Merge "make USER limited to 6 characters when generating BUILD_NUMBER" 2015-12-16 21:42:07 +00:00
Narayan Kamath
8abec039ff Set -Xdoclint:none
Mac builds use a javadoc tool that fails on more warnings than linux
builds.  Add -Xdoclint:none to all java 8 standard doclet javadoc
commands.

Don't add it to javadoc commands that use the com.google.doclava.Doclava
doclet, it doesn't understand -Xdoclint:none.

(cherry-picked from commit 8bf7b5d51a)

Change-Id: Ic5b8431ec2facb7989473b06ebe07246f6d2317f
2015-12-16 19:26:02 +00:00
Than McIntosh
9d76c75782 Merge "Re-enable gold linker for aarch64." 2015-12-16 12:02:04 +00:00
weiqiao
c9219c2c73 make USER limited to 6 characters when generating BUILD_NUMBER
BUILD_NUMBER is use to generate ro.build.description and
ro.build.display.id, if USER is long, these properties will
exceed 91 characters easily.

Change-Id: I7f99ef351f80210172a873104edd980b36c3f8f1
Signed-off-by: weiqiao <qiaowei224@gmail.com>
2015-12-16 13:28:21 +08:00
Todd Poynor
b2a555e6fc Make squashfs sparse image generation optional
Allow non-sparse squashfs image generation, a la ext filesystems.

Bug: 26218766
Change-Id: Ifd596af16411e0cf69a2e7e05d725fd9442dc79c
2015-12-15 20:11:12 -08:00
Dan Willemsen
5f38f9be22 Tell soong that it is embedded in a make build
So that it can munge its ninja targets to not conflict with make.

Change-Id: I0c2273c0ca2fdfced1fa1590f2ea3eac8cddb905
2015-12-16 01:47:02 +00:00
Colin Cross
3ebb2f7326 Combine soong builds into make builds
Bootstrap soong if necessary, and wrap the kati and soong ninja files
into a single ninja file.

Change-Id: I0000c7eaa1adda763189681c57ec27a97a12ee1f
2015-12-15 16:05:57 -08:00
Ying Wang
a79e1324a0 Remove the prebuilt tools cleanstep logic.
We switched to running prebuilt host tools in place in
prebuilts/sdk/tools in TARGET_BUILD_APPS build. This logic is no longer
needed.

Change-Id: Ibf88b3c0a09fb3a1a04b25403457c48851ecc6f4
2015-12-15 12:39:02 -08:00
Ying Wang
c01f2dcb10 Disable .toc optimization for host modules.
Host binaries may be run during the build process and the internal
implementation of the shared libraries makes a difference for the build
result. This change makes sure host tools get re-linked and re-run when
any of its dependency libraries gets updated.
DEX2OAT is such a host tool. We also changed DEX2OAT as full dependency
of dex-preoptimization, so we rebuild the odex files if DEX2OAT itself,
or any dependency libraries changed.

Bug: 24597504
Change-Id: Idf0d9be82ccebd826d9c5b405a39cff437e0af29
2015-12-15 10:00:19 -08:00
Than McIntosh
2c3b926ab3 Re-enable gold linker for aarch64.
Turn back on ld.gold and W-l,--icf=safe for
aarch64, now that the prebuilt ld.gold has been updated
with support for reloc 311/312 (fixed upstream, see
https://sourceware.org/bugzilla/show_bug.cgi?id=19042)

Bug: 25642296
Bug: 26153840

Change-Id: Idceb357a48d9da4eec38ab8f2103245d500622ae
2015-12-15 09:27:19 -05:00
Shinichiro Hamaji
542aa57f1d Merge "Reduce unnecessary rebuilds of .dex files with restat=1" 2015-12-15 06:27:31 +00:00
Elliott Hughes
09ba4c870d Turn on stack protector for mips64.
Go straight to -fstack-protector-strong, since it works to boot the emulator.

Change-Id: I2b65a0ab4426856ae05f66c1e294951e45bd72b6
2015-12-14 14:46:38 -08:00
Elliott Hughes
b9b89e9385 Turn on stack protector for mips.
Go straight to -fstack-protector-strong, since it works to boot the emulator.

Change-Id: Ie44abd869355d2163dec7d9e2635b26b45255df6
2015-12-14 14:15:12 -08:00
Elliott Hughes
02191c97ef Merge "Enable -fstack-protector-strong for x86-64." 2015-12-14 21:45:40 +00:00
Elliott Hughes
505e4ec646 Be smarter about stack-protector on the host.
Some projects are still built with our host GCC 4.8, which doesn't
support -fstack-protector-strong. The combo .mk files are used by
GCC and clang, so it's not safe to turn on -fstack-protector-strong
there. Instead, do it in the clang-specific .mk for now.

We can clean this up when elfutils (the last code built for the host
with GCC that I'm aware of) is built by clang. We'll be able to
remove the host GCC prebuilts too!

Change-Id: I314b9eab071c132a8e2cb8cc779a75ae8abb12e2
2015-12-14 13:20:59 -08:00
Elliott Hughes
7abad39b78 Merge "Enable -fstack-protector-strong for x86." 2015-12-14 21:05:21 +00:00
Elliott Hughes
2747fa8f87 Enable -fstack-protector-strong for arm64.
This results in nearly all functions with the possibility of stack
corruption getting stack canaries, because it applies to any function
taking a reference to the frame or with a local array rather than just
the functions with arrays larger than 8 bytes. It was developed for use
in Chrome (and Chrome OS) and has also been adopted by various other
distributions (Arch, Fedora, Ubuntu, etc).

The code size increase ranges from ~1.5% to ~2.5%, compared to ~0.3% to
~0.7% with the more conservative switch. The increase in the performance
loss is usually minimal. The overall size increase once everything other
than C and C++ code is taken into account is minimal, and it greatly
improves the mitigation of stack buffer overflow vulnerabilities.

https://lwn.net/Articles/584225/

Change-Id: I2fb7f0bfccbfa5d22ca8858309a133469edbc7b6
2015-12-14 11:18:24 -08:00
Elliott Hughes
c8cc919db5 Enable -fstack-protector-strong for arm.
This results in nearly all functions with the possibility of stack
corruption getting stack canaries, because it applies to any function
taking a reference to the frame or with a local array rather than just
the functions with arrays larger than 8 bytes. It was developed for use
in Chrome (and Chrome OS) and has also been adopted by various other
distributions (Arch, Fedora, Ubuntu, etc).

The code size increase ranges from ~1.5% to ~2.5%, compared to ~0.3% to
~0.7% with the more conservative switch. The increase in the performance
loss is usually minimal. The overall size increase once everything other
than C and C++ code is taken into account is minimal, and it greatly
improves the mitigation of stack buffer overflow vulnerabilities.

https://lwn.net/Articles/584225/

Change-Id: Iccc20852db8a5e4dd9792f9da6d5e325fc59b0a5
2015-12-14 11:17:08 -08:00