Commit graph

26267 commits

Author SHA1 Message Date
Chih-hung Hsieh
82953d72ac Merge "Use newest clang static analyzers." 2016-02-12 17:33:40 +00:00
Chih-Hung Hsieh
765c1ea6d7 Use newest clang static analyzers.
* When WITH_STATIC_ANALYZER is set and non-zero, and clang compiler is used,
  call new clang ccc-analyzer or c++-analyzer.
* Otherwise, if WITH_SYNTAX_CHECK is set and non-zero,
  call compiler with -fsyntax-only.
* Replace "--sysroot=path" with "--sysroot path", to work with ccc-analyzer.
* ccc-analyzer executes the original compilation command to generate
  object files before calling clang with --analyze to do static analysis.
* When clang is called with --analyze, macro __clang_analyzer__ is defined.

BUG: 13287788

Change-Id: I5edb25b52998d871385dd000778db2ce83224078
2016-02-11 16:43:51 -08:00
Dan Willemsen
0f745aaf4d Merge "fs_config: error on multiple specifications of android_filesystem_config.h" 2016-02-11 21:01:18 +00:00
Tao Bao
8b56d4ad55 Merge "Makefile: Add the missing library in otatools.zip." 2016-02-11 18:51:04 +00:00
Tao Bao
3124af3028 Makefile: Add the missing library in otatools.zip.
With the change in [1], delta_generator now needs
libprotobuf-cpp-lite.so instead of libprotobuf-cpp-lite-rtti.so to
generate A/B payloads.

[1] commit ab5bd668f6be600a8cceb8772e426c0aa902a5e1

Bug: 27145830
Change-Id: Ib9a93bf0fbe7fa44fc5fb94668d17fa1a2e07b05
(cherry picked from commit fdd2693b65)
2016-02-11 10:50:05 -08:00
William Roberts
78626c480a fs_config: error on multiple specifications of android_filesystem_config.h
Multiple files added to TARGET_ANDROID_FILESYSTEM_CONFIG_H will build,
however the tooling will only respect the first header found. The
sanity check in the makefile will only check the first path found for
proper naming convention. One can end up with a successful build that
does not respect all files in the TARGET_ANDROID_FILESYSTEM_CONFIG_H.

Check that one and only one item is set to
TARGET_ANDROID_FILESYSTEM_CONFIG_H variable.

Output:
*** Multiple fs_config files specified, see "device/lge/bullhead/two/android_filesystem_config.h device/lge/bullhead/one/android_filesystem_config.h"..

Change-Id: I70a43f44713b273cb9a78f54ff16854b9e11af4a
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-02-11 10:47:06 -08:00
Sebastien Hertz
91d20b06f5 Merge "Remove usages of jill.jar, use jack instead" 2016-02-11 08:48:44 +00:00
Sami Tolvanen
d7da0ffb20 Clear logd intermediates
Needed by changes from
  Idcdc5bff133f13c1267f0ec0a75cc8cf1ddbda0d

Bug: 26902605
Change-Id: Id3ca7889ede30b54b7af73dd50653ca1a20d59aa
2016-02-10 15:41:03 -08:00
Dan Willemsen
dbf0792279 Remove debug statement
Change-Id: Ic8b6082a61e2fb1b09b2b254312d3dc7ef59d987
2016-02-10 14:40:08 -08:00
Alex Klyubin
07d3dbd2ed Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." 2016-02-10 21:35:06 +00:00
Sami Tolvanen
7855c9aadf Merge "Fix metadata location when file system doesn't span the partition" 2016-02-10 18:50:17 +00:00
Dan Willemsen
a9556b33ff Merge "Tell Soong about HOST_CROSS_*" 2016-02-10 18:13:22 +00:00
Alex Klyubin
2cfd1d108c Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

Change-Id: I3f2faaf49c6fa392ffbf1ee9f30de476f9f73231
2016-02-10 09:40:31 -08:00
Sami Tolvanen
6a8781a251 Fix metadata location when file system doesn't span the partition
Pad the sparse image with a zero fill chunk to correctly position
verity and FEC metadata at the end of the partition.

Bug: 27073791
Change-Id: I9f70d579a42e5007d50e9c02a98a608d2815f0ed
2016-02-10 09:37:59 -08:00
Yohann Roussel
ccfa5c6761 Remove usages of jill.jar, use jack instead
Bug: 27113650
(cherry picked from commit d0bb7bdf5a)

Change-Id: Ie9be0d5c7e43ea857411431bb79db5cbb476484f
2016-02-10 18:07:15 +01:00
Tao Bao
8290ba9e0d Merge "releasetools: Add two new entries to metadata." 2016-02-10 17:05:47 +00:00
Doug Zongker
ae91d54e89 Merge "improve performance of blockimgdiff" 2016-02-10 16:52:10 +00:00
Doug Zongker
2d2dd1526d improve performance of blockimgdiff
Substantially improves the performance of some BlockImageDiff steps on
large images.  GenerateDigraph and AssertSequenceGood are now linear in
the number of blocks in the target image rather than quadratic in the
size of the partition.  FindVertexSequence tracks the score of each
vertex, the set of sources and sinks, and maintains a heap for finding
the best vertex to use for the greedy step, instead of repeatedly
re-scanning the set of remaining vertexes.

Change-Id: Ifeea5053d80ef4f06a5aa239c9a1797dd5e47841
2016-02-10 07:44:21 -08:00
Alex Klyubin
f8a36a90c8 Merge "Use Jan 1 2009 as timestamp in OTA update ZIPs." 2016-02-10 01:08:12 +00:00
Dan Willemsen
d6e3b84185 Tell Soong about HOST_CROSS_*
This configures Soong to build windows binaries, which requires support
for 64-bit windows binaries in BUILD_PREBUILT for USE_SOONG=true.

module_arch_supported.mk did not support 64-bit being the secondary
architecture when evaluating multilib conditionals. All other uses of
HOST_*_IS_64_BIT already check the proper version.

Change-Id: Iff664733e6991f4adbe8ddd620b091bbb55d1d86
2016-02-09 16:00:14 -08:00
Neil Fuller
dcd446e1e9 Merge "Allow java targets to support 1.8 source / target" 2016-02-09 23:01:40 +00:00
Alex Klyubin
f735851fa9 Use Jan 1 2009 as timestamp in OTA update ZIPs.
This is a follow-up to 6c41036bcf where
I forgot to update a section of OTA update ZIP code.

Bug: 26864066
Change-Id: Idbcde71d6377a16807e41c999120eeddd5b4d8a4
2016-02-09 13:09:57 -08:00
Dan Willemsen
8c4f25f12f Merge "Add 64-bit windows cross-compiles" 2016-02-09 20:54:10 +00:00
Dan Willemsen
74606c40cd Merge "Disable java when JAVA_NOT_REQUIRED is set" 2016-02-09 05:21:39 +00:00
Dan Willemsen
fdf89cd575 Disable java when JAVA_NOT_REQUIRED is set
Change-Id: Id3056cde93302be20000bf7af33aeed0fa8fdf52
2016-02-08 17:02:48 -08:00
Dan Willemsen
a465cf681b Merge "Revert "Do not diff .odex files"" 2016-02-08 22:40:33 +00:00
Dan Willemsen
86c8ebb6ef Revert "Do not diff .odex files"
The bug has been fixed, .odex files are deterministic.

This reverts commit c4438d3d29.

Bug: 26956807
Change-Id: Iaa42dfba5cf79ee64ac20cf4f1f3a4598f4275f4
2016-02-08 20:48:48 +00:00
Tao Bao
d8d14bec0d releasetools: Add two new entries to metadata.
Add "ota-required-cache" into the metadata file in an OTA package,
which shows the minimum free space on /cache to apply the update.

Add "ota-type" into the metadata file, which shows the OTA type for
this package (i.e. one of FILE, BLOCK and AB).

Also add the cache free space check into updater-script when generating
block-based incremental OTAs (we only had such lines for file-based
incrementals before).

Bug: 26731903
Change-Id: Id6ff0fc4cdfb1443636b0b3800b0f8bddb5bb1d0
2016-02-08 11:00:27 -08:00
Dan Willemsen
9ecbf83259 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718
Change-Id: I9f119411acb43e973ec1e6bca3c1dc291c91556c
2016-02-05 16:33:18 -08:00
Alex Deymo
db82f72752 Merge "ota_from_target_files: Include the payload properties." 2016-02-05 23:11:18 +00:00
Dan Willemsen
478913f88f Merge "Fix unused src tracking for generated .o files" 2016-02-05 18:12:20 +00:00
Colin Cross
d8f0d68b78 makeparallel: unset MAKEFLAGS and MAKELEVEL
makeparallel inherits values for MAKEFLAGS and MAKELEVEL from make
through the environment, but they should not be propagated to the child
process in case the child process tries to run make again.

Change-Id: I4c5df10ea8055cd1f1f61a892d5b1a7acb287bbb
2016-02-05 00:10:20 -08:00
Alex Deymo
19241c11bd ota_from_target_files: Include the payload properties.
When building an A/B OTA package, include the payload.bin properties as
a key-value pairs text file, so it can easily be passed to
update_engine during payload application.

Bug: 26991255
TEST=`ota_from_target_files out/dist/${BOARD}-target_files.zip full-ota.zip` includes the properties.

Change-Id: I445c8a8e412a8e16b48b6ee626db8e27d48a38a9
2016-02-04 23:29:50 -08:00
Colin Cross
9e8866f4a4 Merge "Don't build otatools for PDK" 2016-02-04 23:49:41 +00:00
Chih-hung Hsieh
9ff17cf7bc Merge "Remove USE_CLANG_PLATFORM_BUILD in BoardConfig.mk" 2016-02-04 23:22:19 +00:00
Colin Cross
1b21a15049 Merge "Build .toc when building a module by name" 2016-02-04 23:13:31 +00:00
Colin Cross
481cc5a005 Don't build otatools for PDK
Change-Id: I5e73d103300ac938f80b3ff0af978c123d649fed
2016-02-04 15:09:23 -08:00
Dan Willemsen
444c323bc1 Fix unused src tracking for generated .o files
*.o files that are passed in via LOCAL_GENERATED_SOURCES are added
directly to all_objects, they are not mixed with the normal_objects that
we track. So omit them from they my_gen_src_files list so that we don't
warn that they're unused.

Change-Id: I94b85504032e70fbcc00207d6200557700dd0a89
2016-02-04 14:22:31 -08:00
Colin Cross
e2b8f68785 Build .toc when building a module by name
Building a module by name with make <module name>, or with mm or mma
through all_modules, should also build the .toc file so that future uses
of mm on modules that depend on this one can find the .toc file.

Bug: 26936761
Change-Id: Id0c592f0860a10b732b2b5b13c7e967c9bcb1c6b
2016-02-04 13:31:16 -08:00
Stephen Hines
042d589fa2 Merge "Fix LLVM_RTLIB_PATH for new prebuilts." 2016-02-04 19:46:07 +00:00
Stephen Hines
cdb52b5186 Fix LLVM_RTLIB_PATH for new prebuilts.
This moved from lib/ to lib64/, but wasn't noticed because no one builds
with the profiler on by default.

Change-Id: I0155263b4a50437ea0864338fb34baefc3df59d2
2016-02-04 11:43:41 -08:00
Chih-Hung Hsieh
6dc7147fb0 Remove USE_CLANG_PLATFORM_BUILD in BoardConfig.mk
Use global default USE_CLANG_PLATFORM_BUILD set in core/envsetup.mk,
or user provided environment variable USE_CLANG_PLATFORM_BUILD.

BUG: 26102335
Change-Id: I7e12219a60f36bb44797bb028b4a5873a67c9210
2016-02-04 10:55:56 -08:00
Stephen Hines
1acfd54844 Merge "Switch to clang-2577113." 2016-02-04 07:34:05 +00:00
Dan Willemsen
6c597e6bdd Merge changes I2e00bb66,I00890229
* changes:
  Do not diff .odex files
  Diff libpac.so now that it is deterministic
2016-02-03 18:57:07 +00:00
Dan Willemsen
c4438d3d29 Do not diff .odex files
They still are not deterministic -- only the boot images were made
deterministic (.oat/.art).

Bug: 26956807
Change-Id: I2e00bb6662b4c8d184c48ef9aa34b39142c94893
2016-02-03 10:46:39 -08:00
Dan Willemsen
8c915ee2ef Diff libpac.so now that it is deterministic
Bug: 25348136
Change-Id: I008902299281b5ddd55a9b8c405d53eea2d56c8b
2016-02-03 10:45:25 -08:00
Neil Fuller
2428bfeb88 Allow java targets to support 1.8 source / target
This change enables build rules to specify:

LOCAL_JAVA_LANGUAGE_VERSION := 1.8

to enable -source 1.8 -target 1.8 for javac and
equivalent flags for Jack.

Bug: 26753820
(cherry-picked from commit cdfbe4a852)

Change-Id: I361c99dd599e7b4a041f02c9562e461da2b0502e
2016-02-03 17:08:39 +00:00
Colin Cross
655dd3ea76 Merge "Move PDK selection into config.mk" 2016-02-02 20:34:30 +00:00
Dan Willemsen
342037c0cf Merge "Fix typo" 2016-02-02 17:56:57 +00:00
Stephen Hines
6ef329eb4d Switch to clang-2577113.
Bug: http://b/25282907

This is actually based on clang/LLVM upstream revision r256229.

Change-Id: I335be68f196e5b55ac2816fa854e97b841b54240
2016-02-01 23:37:14 -08:00