Commit Graph

25723 Commits

Author SHA1 Message Date
Dan Willemsen 163196aa48 Merge "Use explicitly sized types in zipalign/ziptime"
am: 1b2685137e

* commit '1b2685137ee9cde6ea24ff37b54c5d8e1ee18b01':
  Use explicitly sized types in zipalign/ziptime
2015-11-05 20:32:46 +00:00
Dan Willemsen 1b2685137e Merge "Use explicitly sized types in zipalign/ziptime" 2015-11-05 20:28:20 +00:00
Than McIntosh fbf9234233 Merge "Enable gold linker for aarch64."
am: 838ad09b17

* commit '838ad09b17c6525122e6e8881674030e6746a8c4':
  Enable gold linker for aarch64.
2015-11-05 11:52:25 +00:00
Than McIntosh 838ad09b17 Merge "Enable gold linker for aarch64." 2015-11-05 11:49:56 +00:00
Shinichiro Hamaji 7070e5dc59 Merge "Allow missing SONAME in .toc files"
am: 457345e58c

* commit '457345e58c9f273a467847e2086318d6d8380d5b':
  Allow missing SONAME in .toc files
2015-11-05 04:07:21 +00:00
Shinichiro Hamaji 457345e58c Merge "Allow missing SONAME in .toc files" 2015-11-05 04:02:37 +00:00
Shinichiro Hamaji f0972f7966 Allow missing SONAME in .toc files
At least one shared object in internal repo doesn't have
SONAME entry in its dynamic segment because it is created by
objcopy instead of a linker.

Change-Id: If7106da022ff1e4e925191402f9072795dc3ddcb
2015-11-05 12:51:08 +09:00
Shinichiro Hamaji 7557ad2bbd Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries"
am: 2f8ffa61be

* commit '2f8ffa61bee03593a89913806e863f73a8e646b7':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
2015-11-05 01:27:06 +00:00
Shinichiro Hamaji 2f8ffa61be Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries" 2015-11-05 00:46:04 +00:00
Than McIntosh a7f68ee9ea Enable gold linker for aarch64.
[Second attempt, this time with updated mac prebuilt]

Switches default linker from -fuse-ld-bfd to
-fuse-ld=gold, and enables -Wl,--icf=safe. This
changes reduces /system/lib64/*.so text size
by about 2% for N9.

Change-Id: I587075aae9d70cb6b16e55dc9cd1052580ac2626
2015-11-04 19:34:50 -05:00
Dan Willemsen 41bc424c32 Use explicitly sized types in zipalign/ziptime
getLongLE would return a 64-bit number with the upper 32-bits set when
decoding a 32-bit number with the top bit set. Per the zip file format,
it was only expected to return a 32-bit number. Use explicitly sized
types so that we use the proper sizes and don't do any implicit
extensions.

Change-Id: I5a4304dc99ce5f8f17284d4ca3094ae115207a1e
2015-11-04 23:52:52 +00:00
Jeffrey Vander Stoep 6e32d6b0a0 Merge "selinux: Grant all processes the domain_deprecated attribute"
am: b18da85cb6

* commit 'b18da85cb6b19f156e476cf4fb5d97f4e90ce84a':
  selinux: Grant all processes the domain_deprecated attribute
2015-11-04 18:57:14 +00:00
Jeffrey Vander Stoep b18da85cb6 Merge "selinux: Grant all processes the domain_deprecated attribute" 2015-11-04 18:47:32 +00:00
Ying Wang 3a5c02e295 Merge "Don\'t run ziptime on host zip files."
am: 7f50cf7f50

* commit '7f50cf7f501a7289cbe8c03eb20ed0f54edf5a99':
  Don't run ziptime on host zip files.
2015-11-04 18:19:54 +00:00
Ying Wang 7f50cf7f50 Merge "Don't run ziptime on host zip files." 2015-11-04 18:13:03 +00:00
Ying Wang 5d88770f26 Don't run ziptime on host zip files.
ziptime fails on zip file larger than 2GB.
These zip files won't installed on device and we don't care that much
about their reprodudcibility across builds.

Change-Id: I47062928d075a59eda92dd5333e59502f490d1cb
2015-11-04 10:06:25 -08:00
Jeff Vander Stoep 7890fc4d2e selinux: Grant all processes the domain_deprecated attribute
Bug: 25433265
Change-Id: Iafad5abd6e75c5a46f844ef3e744adf1c904b362
2015-11-04 08:49:07 -08:00
Shinichiro Hamaji 0e7587a9ea Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
When a shared object is rebuilt, all dependent libraries and
executables are rebuilt. Such rebuild is unnecessary when there
is no interface change. With this patch, .toc files will be
generated for all .so files. The rule which generates .toc files
has ninja's restat=1 and .toc files are not changed ninja won't
rebuild dependent targets.

Performance:

$ m && touch bionic/libc/stdio/stdio.c && time m
Before: 1m03s (2563 targets)
After: 21s (90 targets)

Bug: 24597504
Change-Id: Ia5dd950273d143f4e99eee8bef7478f1a94cd138
2015-11-04 15:23:59 +09:00
Ying Wang 32078cd8b2 Merge "Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS."
am: 5dd68067a6

* commit '5dd68067a6a5e48b29882ca065606ab85b20d3d7':
  Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
2015-11-04 01:15:47 +00:00
Ying Wang 5dd68067a6 Merge "Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS." 2015-11-04 01:11:14 +00:00
Ying Wang 4a4a0bc38f Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
ANDROID_GOALS: any Android goals that need to be built.
KATI_GOALS: goals that we need to pass to Kati.
NINJA_GOALS: goals we need to pass to Ninja.

For modifier Android goals (dist, INTERNAL_MODIFIER_TARGETS),
we don't need to pass them to Ninja. See also commit
80e46c7c5c.
Restore the dist rule removed by the above commit.

Previously "droid" was never passed to Ninja. That's incorrect.
"make droid docs" should build both docs and droiod.
Fixed with this change.

Change-Id: I5c28061fe0ebe7848872ee349056d029b787ff71
2015-11-03 17:10:28 -08:00
Dan Willemsen 3665246dcb Merge "Don\'t use ziptime with unbundled builds"
am: 29a6675983

* commit '29a667598340624f38b0a08c3e9984afc375b12d':
  Don't use ziptime with unbundled builds
2015-11-04 00:33:44 +00:00
Dan Willemsen 29a6675983 Merge "Don't use ziptime with unbundled builds" 2015-11-04 00:24:59 +00:00
Dan Willemsen a25ddad7d6 Don't use ziptime with unbundled builds
Some of the trees are unable to compile native code with the normal
build rules, even though they can build kati.

Bug: 24201956
Change-Id: I2afc3468480b2c78407d62323e6b82979c8ee254
2015-11-03 16:18:41 -08:00
Clay Murphy 97b8e290b5 Merge "Docs: Add Security tab to top"
am: e47d8b99a2

* commit 'e47d8b99a2274b7689371685a819b5d1bf6e1cb1':
  Docs: Add Security tab to top
2015-11-03 23:56:54 +00:00
Clay Murphy e47d8b99a2 Merge "Docs: Add Security tab to top" 2015-11-03 23:45:56 +00:00
Bill Yi af05ad919a Merge commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582' into HEAD 2015-11-03 14:28:58 -08:00
Dan Willemsen a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Ying Wang fb89fd36b2 Merge "Don\'t check the host JDK tools when build/core/config.mk is called from envsetup.sh."
am: a63d379aab

* commit 'a63d379aab75fe3991320319f63faddd3b84b287':
  Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
2015-11-03 00:40:38 +00:00
Ying Wang a63d379aab Merge "Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh." 2015-11-03 00:17:43 +00:00
Ying Wang 7fcd2f9086 Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
Envsetup.sh (lunch) relies on config.mk to get build varaible values; while
config.mk may rely on envsetup.sh to set up JAVA_HOME/PATH.
Without this change config.mk may be checking the host JDK tools before
JAVA_HOME/PATH get set up.

Change-Id: I1e6b5e33147258832ce2f0a425f9526ef4782c43
2015-11-02 16:00:47 -08:00
Dan Willemsen 48a621c277 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.

Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
2015-11-02 14:51:54 -08:00
Gaurav Shah af80a461d6 Merge "envsetup,product,ninja: enable symlink traversal"
am: f589c7b442

* commit 'f589c7b442feb02843bdf82305b599b686fc5204':
  envsetup,product,ninja: enable symlink traversal
2015-11-02 22:27:27 +00:00
Gaurav Shah 00b8cd9a15 Merge "Support build targets with no installable apps/packages"
am: aed6805380

* commit 'aed6805380810f51bb0d8b93fc5eac005a6de364':
  Support build targets with no installable apps/packages
2015-11-02 22:27:20 +00:00
Gaurav Shah 64ea350dd8 Merge "build: Add extra build customization for /product"
am: a80f1e3257

* commit 'a80f1e32575db5d66f4b4e6efdf79dd10dd2295e':
  build: Add extra build customization for /product
2015-11-02 22:27:14 +00:00
Gaurav Shah 881ec090c4 Merge "build: Add support for defining products in /product"
am: acb8a7c1f8

* commit 'acb8a7c1f8cacaf136edba1a25d64467d352a432':
  build: Add support for defining products in /product
2015-11-02 22:27:08 +00:00
Gaurav Shah f589c7b442 Merge "envsetup,product,ninja: enable symlink traversal" 2015-11-02 22:22:50 +00:00
Gaurav Shah aed6805380 Merge "Support build targets with no installable apps/packages" 2015-11-02 22:22:40 +00:00
Gaurav Shah a80f1e3257 Merge "build: Add extra build customization for /product" 2015-11-02 22:22:32 +00:00
Gaurav Shah acb8a7c1f8 Merge "build: Add support for defining products in /product" 2015-11-02 22:22:22 +00:00
Will Drewry c13f9c952d envsetup,product,ninja: enable symlink traversal
When searching device, product, or hardware, allow
find to follow symlinks.

Add KATI_EMULATE_FIND=false to allow disabling the find
emulator which changes findleaves.py behavior wrt
symlinks.

BUG=24605247
TEST=works with CL:783781 (without the find wrapper in that CL)

Change-Id: Ia9d0e4add391a56f34828a09a6cec3f435ccc548
2015-11-02 14:18:45 -08:00
Gaurav Shah 67c2ed390f Support build targets with no installable apps/packages
Specifically, do not error out if no installable apps are found.

- When creating an archive of all the apps, and if no apps exist
for the target, generate an empty archive file.
- If building for a target with no installable jar(s) or apk(s),
generate an empty package stats file.

The former is just an output artifact. The latter is used
by the upload_pkg_stats.py script which correctly handles
an empty input file.

BUG: 23421592

Change-Id: I48db9f9e1f61914d8fd938130e09b41849685450
2015-11-02 14:18:30 -08:00
Lee Campbell 04ba31236e build: Add extra build customization for /product
This makes /product more consistent with /device & /vendor

BUG: 22030305

Change-Id: Ic65bfde7fb3e9fab8c8fb8d99af15404574abde0
2015-11-02 14:18:13 -08:00
Lee Campbell 455f6f458d build: Add support for defining products in /product
The build will now search for AndroidProducts.mk in /product

BUG: 22030305

Change-Id: I2d067d95d0c8dc1341a55167f9ac7f6926e04ce3
2015-11-02 14:17:47 -08:00
Ying Wang cce30b6daa Merge "Add _asan suffix to ro.build.flavor for ASAN builds."
am: f0a8dd43b2

* commit 'f0a8dd43b26d49ad67e2c6c8c936e64a62df8582':
  Add _asan suffix to ro.build.flavor for ASAN builds.
2015-11-02 19:52:04 +00:00
Ying Wang 603e4ed594 Merge "Fix "make product-graph" and "make dump-products"."
am: 888f30aa44

* commit '888f30aa448370206a49ff7df940e134b8ff7017':
  Fix "make product-graph" and "make dump-products".
2015-11-02 19:51:57 +00:00
Ying Wang f0a8dd43b2 Merge "Add _asan suffix to ro.build.flavor for ASAN builds." 2015-11-02 19:47:31 +00:00
Ying Wang 888f30aa44 Merge "Fix "make product-graph" and "make dump-products"." 2015-11-02 19:46:53 +00:00
Clay Murphy 2a0522b277 Docs: Add Security tab to top
Bug: 24908502
Change-Id: If3331bc4ba84a8694bc30cfa81d9dc080e93fa09
2015-10-29 15:19:06 -07:00
Dan Willemsen d8d06da814 Merge "Revert "Remove changing uids/timestamps from zip/jar files""
am: 49d8c5196e

* commit '49d8c5196eb690fc987673c27cb61087c5886be4':
  Revert "Remove changing uids/timestamps from zip/jar files"
2015-10-29 21:33:39 +00:00