Commit graph

6457 commits

Author SHA1 Message Date
Dan Albert
d160041149 Force some clang Werrors that *will* break things.
Clang is really aggressive at optimizing a handful of cases (read:
clang will ruin your day some if you write bad code). Fortunately, it
also emits a warning when it's about to do this.

To prevent anyone from suffering from these optimizations, make these
warnings errors and make them impossible to disable.

Change-Id: I5e10bb0fc2ca23190017da716b3b84635577a0bd
2015-06-10 17:24:38 -07:00
Ying Wang
1b96592aab Merge "Add build_verity_metadata.py to dist-tools" 2015-06-09 16:20:49 +00:00
Narayan Kamath
7d2c71cf90 Merge "Remove duplicate CTS tests from libcore cts packages." 2015-06-09 10:03:16 +00:00
Narayan Kamath
6ca9b2b1a3 Remove duplicate CTS tests from libcore cts packages.
The catch all "org" package was catching several thousand
org.apache.harmony.tests.* tests that are already covered by
other packages. Replace the catch-all org.* with specific prefixes.

Needs additional support in CollectAllTests to handle multiple
prefixes. This is implemented in the companion change.

bug: 20862863

(cherry picked from commit cf7fbcd03d)

Change-Id: I1d28f91cfca098ccdcd62e88bb486b433d9c29d8
2015-06-09 10:52:34 +01:00
Mark Salyzyn
911637bf33 Merge "Add missing shared libraries to dist tools" 2015-06-08 23:51:33 +00:00
Ying Wang
8e42131ba2 Merge "Strip path from verity_signer_cmd in the target-files meta data." 2015-06-08 23:40:01 +00:00
Ying Wang
080f57aed7 Merge "Remove the unnecessary full_x86_64 and full_mips64." 2015-06-08 19:01:47 +00:00
Ying Wang
0a76df5ce7 Remove the unnecessary full_x86_64 and full_mips64.
For historical reason, the aosp_* products were named full_*.
We keep the full, full_x86 and full_mips in case some tools still
reference these legacy names; But no reason the have the full_* product
names for the new 64-bit archs.

Change-Id: I240ed0c6ded0ded2d80603bd0c5ff24750999afc
2015-06-08 11:57:26 -07:00
Claes Elgemark
82a19d3662 Add build_verity_metadata.py to dist-tools
Preserve path as it is referenced by build_image.py.

Change-Id: Id6833d243b5a15b4ee5e0013340aeb2cd35f3578
2015-06-05 10:31:53 +02:00
Claes Elgemark
d0ec665727 Add missing shared libraries to dist tools
Add missing libraries used by e2fsck and build_verity_tree.

Change-Id: I8bf0341300863ef0090b395b2aba0b7a952f6b58
2015-06-04 14:31:56 +02:00
Ying Wang
934d9b158e Add selinux and verity support to custom image generation.
New custom image configuration variables:
- CUSTOM_IMAGE_SELINUX, set to "true" if the image supports selinux.
- CUSTOM_IMAGE_SUPPORT_VERITY, set to "true" if the product supports verity.
- CUSTOM_IMAGE_VERITY_BLOCK_DEVICE

Also changed the staging directory name to the mount point, like we do
for other images built by the build system.

Bug: 19609718
Change-Id: I6bbf06b79eee63e4c77834f2e6f1d5a7f7e00a12
(cherry picked from commit 7d51a40295)
2015-06-03 09:56:31 -07:00
Ying Wang
4540a85dd4 Support to configure and build multiple custom images.
Build additional images requested by the product makefile.
This script gives the ability to build multiple additional images and
you can configure what modules/files to include in each image.
1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile.
   PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles.
   Each makefile configures an image.
   For image configuration makefile foo/bar/xyz.mk, the built image
   file name
   will be xyz.img. So make sure they won't conflict.
2. In each image's configuration makefile, you can define variables:
  - CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm"
    etc.
  - CUSTOM_IMAGE_PARTITION_SIZE
  - CUSTOM_IMAGE_FILE_SYSTEM_TYPE
  - CUSTOM_IMAGE_DICT_FILE, a text file defining a dictionary
    accepted by BuildImage() in tools/releasetools/build_image.py.
  - CUSTOM_IMAGE_MODULES, a list of module names you want to include
    in the image; Not only the module itself will be installed to proper
    path in the image, you can also piggyback additional files/directories
    with the module's LOCAL_PICKUP_FILES.
  - CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to
    the image. <dest> is relativ to the root of the image.

To build all those images, run "make custom_images".

Bug: 19609718
Change-Id: Ic73587e08503a251be27797c7b00329716051927
(cherry picked from commit 5fcf1094f9)
2015-06-03 09:56:29 -07:00
Claes Elgemark
d53cd9b0b1 Add VeritySigner.jar to ota tools
Used by verity_signer

Change-Id: I6e2b654144b40573c3f3c0dc0d1c943889ffcd7d
2015-06-03 16:41:51 +00:00
Claes Elgemark
ec99604b07 Strip path from verity_signer_cmd in the target-files meta data.
Strip path to be able to use outside a build e.g.
when resigning using the dist tools zip.

Change-Id: I492dcfd5791b66c17ae2e751cc8f67127e97b800
2015-06-03 15:09:54 +02:00
Yohann Roussel
b518c3ec0b [DO NOT MERGE] Add support for RMTYPEDEF with Jack
Bug: 21099584

(cherry-picked from commit 5b2c6e26db)

Change-Id: I39aa1f24780c216e978ef743098ca7ac65b2962e
2015-06-02 12:25:51 +02:00
Ying Wang
30127bfdad Add $ORIGIN/lib[64] to host binary's rpath.
Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the existing SDK
directory structure.

Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
(cherry-pick from commit 4fe7bfd373)
2015-06-01 11:28:02 -07:00
Chih-Hung Hsieh
128d51e67e Remove gcc 4.9 workaround.
The gcc 4.9 devirtualization bug was fixed with a cherry pick of r212222.

BUG: 19872411
Change-Id: I6d9677f112402fe84d70da770f364392398e9cc9
(cherry picked from commit ad2494bb79)
2015-05-29 12:06:36 -07:00
Elliott Hughes
1a81a0efca Merge "[MIPS] Do not use compact branches until GDB supports them" 2015-05-29 04:41:27 +00:00
David Srbecky
d8fae9a6a6 Pass --no-generate-debug-info to dex2oat.
The two flags have been merged and renamed in ART.

Change-Id: Iffc1dcc6764367239d6f45a3598cdb2c5d5d5013
2015-05-28 16:32:55 +01:00
Nikola Veljkovic
063ef33089 [MIPS] Do not use compact branches until GDB supports them
GDB does not yet have support for compact branches, and is unable to
set a breakpoint on them. Turn compact branch generation off, until
GDB is fixed.

Change-Id: Ie7d6fb891e9934f8fc645fe9cf8f706be15a5f77
2015-05-25 16:27:01 +02:00
Yohann Roussel
f09e59eb52 [DO NOT MERGE] Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill.
Default is still to compile with the legacy toolchain. Default can be
switched to the new toolchain by setting environement variable:
export ANDROID_COMPILE_WITH_JACK=true
Toolchain can also be forced for one module by defining
LOCAL_JACK_ENABLED:=full # disabled, full, incremental
in the mk portion defining the module.

Jack execution environement can be controlled with:

Global variable ANDROID_JACK_VM allow to change the jvm executing Jack.
Global variable ANDROID_JACK_VM_ARGS allows to change default args given
to the jvm.
Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args
to give to Jack

LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for
the module.
LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack.

This includes cherry-picks of the following changes:
b4c49cba57
22c3fa6d73
138768c1bb
5dd3e1d312
83d5d04047
8bc90fd2d6
140274707e
0fbc9ff2a2
833b427d72
f9a27f45b4
2809666941
37822c443d
c6b44d43c3
d2a76c14bf
06744f60fc
95573d5036
b821391614
2794e7b582
801f2c44d0
c76d99dca1
f528e132d6
76a5e0bd1a
e25b3984ff Partially, only Jack related parts werekept
ec46a3b71f
abee3a9f41
77cbe10fd9
daf07db4cd
b6bfb5893a

Ie all Jack related changes untill
b6bfb5893a
except
a96cc59ab5 "Use Jack by default"

Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
2015-05-19 18:31:05 +02:00
Elliott Hughes
c340a30641 Merge "Explain __USE_MINGW_ANSI_STDIO." 2015-05-15 20:52:56 +00:00
Elliott Hughes
7c0bcfb61d Explain __USE_MINGW_ANSI_STDIO.
Change-Id: I6900a7cddfb5aa4365c3e0f6f6f0fa9203c0fe43
2015-05-14 20:55:49 -07:00
Ying Wang
df5c798f36 Merge "[MIPS] Temporarily disable Mips shared-textrel errors" 2015-05-14 16:11:59 +00:00
Elliott Hughes
0dac67880b Merge "Revert "Revert "Turn on _FORTIFY_SOURCE=2 for the host.""" 2015-05-13 21:12:22 +00:00
Elliott Hughes
1d8e8c9694 Merge "Add libbenchmark's new dependency on libbase." 2015-05-13 20:53:32 +00:00
Elliott Hughes
b2b6646578 Add libbenchmark's new dependency on libbase.
Change-Id: I6f9700b3e51a3b681d3d91b88103eed31764f61e
2015-05-13 13:47:30 -07:00
Elliott Hughes
7dd8ec1761 Revert "Revert "Turn on _FORTIFY_SOURCE=2 for the host.""
This reverts commit e27b214fc2.

Change-Id: I3d739c0594dbe4ecd62c5b07064ada7de6cdaadb
2015-05-13 20:15:19 +00:00
Elliott Hughes
2a3034b336 Merge "Revert "Turn on _FORTIFY_SOURCE=2 for the host."" 2015-05-13 19:33:17 +00:00
Elliott Hughes
e27b214fc2 Revert "Turn on _FORTIFY_SOURCE=2 for the host."
This reverts commit 224806d00e.

Change-Id: I654157ec4be7ff95356ab4a25b27c44762793e74
2015-05-13 19:32:59 +00:00
Elliott Hughes
b58119eab4 Merge "Turn on _FORTIFY_SOURCE=2 for the host." 2015-05-13 19:10:37 +00:00
dcashman
3979b9bdbc Merge "Remove libc++ from prepackaged shared libs in cts." 2015-05-13 18:19:42 +00:00
Duane Sand
3dfd20aea4 [MIPS] Temporarily disable Mips shared-textrel errors
Clang++ for Mips and Mips64 generates read-only exception unwind
tables that trigger DT_TEXTREL warnings at link time.  Until Clang
is fixed, ignore those performance warnings instead of failing the build.

With this patch, Mips clang++ can be (optionally) used when building
libdeqp.

NDK's Mips llvm has been using an alternate temporary fix, marking the
.gcc_exception_table section as read-write for Mips only:
   https://android-review.googlesource.com/#/c/119660/

A permanent fix using a read-only exception table is pending upstream:
   http://reviews.llvm.org/D9669

Change-Id: Ie0cd7da398acbe45dbe39adc251e7fd5b5ca1445
2015-05-13 11:07:20 -07:00
dcashman
214a171424 Remove libc++ from prepackaged shared libs in cts.
Commit 28acbeab18f6083299c07f9ebe769d22e49f8107 removed the dependency of
sepolicy-analyze on libc++, eliminating the only consumer of the library for the
cts host-side tests.  Remove the library since it is no longer needed but leave
the ability to add other shared libs in the future.

Bug: 19566396
Change-Id: I4fbfa44ce9f099ad058fd0630ac48749e389e3e1
2015-05-13 09:07:51 -07:00
Elliott Hughes
224806d00e Turn on _FORTIFY_SOURCE=2 for the host.
Bug: http://b/20558757
Change-Id: Ic0c173d25dc6b2fa9c3122a523af5f37bc1b8c55
2015-05-12 21:41:52 -07:00
Andrew Hsieh
75f3c5a849 Merge "Revert "Revert "Enable linker -fix-cortex-a53-843419""" 2015-05-13 01:08:51 +00:00
Dan Albert
2a4a023a54 Fix using libc++_static in dynamic binaries.
Change-Id: I89bacfbf270d2d1bc1b9b2fa6951b355a67b808c
2015-05-12 14:07:18 -07:00
Andrew Hsieh
0e0259cca6 Revert "Revert "Enable linker -fix-cortex-a53-843419""
This reverts commit 32e1689684.

Now that prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9 is also updated

Change-Id: Id95c1c4cc651c434461655e62b8f23afd56b53e4
2015-05-11 06:03:07 +00:00
Ying Wang
9db69c1b08 Merge "Add task to print transitive dependencies and their license files." 2015-05-07 22:43:56 +00:00
Ying Wang
39b9b690a8 Add task to print transitive dependencies and their license files.
Print modules and their transitive dependencies with license files.
To invoke, run
"make deps-license PROJ_PATH=<proj-path-patterns> DEP_PATH=<dep-path-patterns>".
PROJ_PATH restricts the paths of the source modules;
DEP_PATH restricts the paths of the dependency modules.
Both can be makefile patterns supported by makefile function $(filter).
Example:
  $ make deps-license packages/app/% external/%
  prints all modules in packages/app/ with their dpendencies in external/.
The printout lines look like "<module_name> :: <module_paths> :: <license_files>".

Bug: 20823995
Change-Id: I06b66e85ff56c8628bffa3d948085ed45870100f
2015-05-07 15:43:01 -07:00
Dmitriy Ivanov
e24b6f77ff Do not pack relocations for executables
Bug: http://b/20665974
Change-Id: Ibc13b5d6bd05dfbc7ff8475068fe7363f58e7e67
2015-05-07 13:10:02 -07:00
Dan Albert
5ee74388b1 Merge "Disallow using stlport." 2015-05-06 19:53:43 +00:00
Dan Albert
3a360a7353 Disallow using stlport.
The only remaining users of stlport are vendor blobs. Prevent any new
users from using it.

Bug: http://b/15193147
Change-Id: I577a16c8c52e2c7d939c3b5026e18ad90e4b9f26
2015-05-06 10:10:30 -07:00
Dan Albert
0ad5bd22c8 Cleanup libc++ configuration.
Change-Id: I2162f2a19c7f13cfbd4a2530a783a4e671d7cdb1
2015-05-06 10:09:50 -07:00
Dan Albert
b2ce04b431 Merge "Make Windows a non-multilib target." 2015-05-05 23:39:00 +00:00
Dan Albert
dc94137927 Make Windows a non-multilib target.
We don't have a toolchain for 64-bit windows.

This allows running `USE_MINGW=1 mm` in a directory that has a host
module with LOCAL_MULTILIB := both.

Change-Id: I31f981b38fb80b0d6582bab0a4bd580a3c654c91
2015-05-05 15:46:50 -07:00
Dan Albert
b5ccb461ed Merge "Select the correct target STL with USE_MINGW." 2015-05-05 21:40:59 +00:00
Dan Albert
e76bb83fcd Fix JDK check for USE_MINGW=1.
Change-Id: I3bdd9258e8870fc00a5f1f74682a949dc487d851
2015-05-05 11:41:52 -07:00
Dmitriy Ivanov
392569c12c Fix mips build
Change-Id: Ifbb2df36c173511c118f34cfa39bb01ca7f7d380
2015-05-04 18:10:47 -07:00
Chih-Hung Hsieh
f274888870 Merge "Upgrade x86 gcc to 4.9 and disable devirtualization." 2015-05-04 23:36:51 +00:00