Commit graph

26015 commits

Author SHA1 Message Date
Alex Klyubin
b437f58006 Merge "Do not run zipalign when building APK (except prebuilts)." 2015-12-07 22:08:14 +00:00
Ying Wang
9bbc67b55a Merge "Fix TARGET_ASAN build." 2015-12-07 19:32:21 +00:00
Dimitry Ivanov
73661d4220 Merge "Include libGLESv3.so to PRODUCT_PACKAGES" 2015-12-07 19:00:58 +00:00
Ying Wang
03b6e8b6c4 Fix TARGET_ASAN build.
Bug: 26044735
Change-Id: I9c6b3b16637ca2d0da4765e896a9f03c1d5dc51c
2015-12-07 10:45:19 -08:00
Nick Kralevich
c5c2e60707 Merge "enable -fstack-protector-strong"
am: 2a49aba35b

* commit '2a49aba35b9b9216df1da245f1af13c6faa5a850':
  enable -fstack-protector-strong
2015-12-05 14:23:57 -08:00
Nick Kralevich
2a49aba35b Merge "enable -fstack-protector-strong" 2015-12-05 22:20:46 +00:00
Daniel Micay
8765b1035f enable -fstack-protector-strong
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: Ie83d381e09d94deb34c5ff142a101ba3d14cf3ba
2015-12-05 01:52:45 -05:00
Ying Wang
fe27825ca5 Merge "Gmake doesn\'t like newline in macro expansion result."
am: c7d5e54dfe

* commit 'c7d5e54dfe71766dc60adcf06e6ec1a2b12cdda9':
  Gmake doesn't like newline in macro expansion result.
2015-12-05 00:53:25 +00:00
Ying Wang
c7d5e54dfe Merge "Gmake doesn't like newline in macro expansion result." 2015-12-05 00:49:46 +00:00
Ying Wang
427f8c43aa Gmake doesn't like newline in macro expansion result.
When $(call func) in the makefile text expansion includes newline, gmake
reports error "missing separator". But it's fine if the expansion includes
only spaces. That's a bit odd.
This change fixes the "missing separator".

Change-Id: I094e5ae1725699ebfa4ed66544eef037dd68714c
2015-12-04 16:44:03 -08:00
Dan Willemsen
a4769d2956 Merge "Sanity check LOCAL_SRC_FILES_EXCLUDE"
am: cc3b2a5854

* commit 'cc3b2a58548832ab7a6620d6b607d315f06dfc06':
  Sanity check LOCAL_SRC_FILES_EXCLUDE
2015-12-04 15:17:58 -08:00
Dan Willemsen
cc3b2a5854 Merge "Sanity check LOCAL_SRC_FILES_EXCLUDE" 2015-12-04 23:12:16 +00:00
Alex Klyubin
5b826ac609 Do not run zipalign when building APK (except prebuilts).
This changes the build system to no longer run zipalign except for
those prebuilts which do not need to re-signed.

Running zipalign is no longer needed because signapk takes care of
alignment. For those prebuilts which do not need to be re-signed
signapk is not invoked and thus zipalign is still needed because the
prebuilts may not have been aligned properly. This exemption will go
away once prebuilts are properly aligned.

Bug: 25794543
Change-Id: I31f10af80b9baa3c9481cb36f41e5e5046e852f9
2015-12-04 10:15:06 -08:00
Alex Klyubin
7f1eda800d Merge "Make signapk align .so entries to 4096 bytes."
am: dbb5527a9e

* commit 'dbb5527a9ef27f292794d1e51ae56d1df68c328b':
  Make signapk align .so entries to 4096 bytes.
2015-12-04 17:10:01 +00:00
Alex Klyubin
dbb5527a9e Merge "Make signapk align .so entries to 4096 bytes." 2015-12-04 17:05:27 +00:00
Dan Willemsen
c29172c333 Sanity check LOCAL_SRC_FILES_EXCLUDE
Error out if there is a file listed in LOCAL_SRC_FILES_EXCLUDE but not in
LOCAL_SRC_FILES. This should catch typos or other mistakes that would
otherwise be missed.

Change-Id: Iaddf575a6ce35238998ac47b59591a7d05fbcd0d
2015-12-03 22:58:39 -08:00
Colin Cross
b275dd1623 Merge "Remove extra definition of AIDL"
am: 77f411e116

* commit '77f411e116981ae1de9f060b128e4df0b2facd57':
  Remove extra definition of AIDL
2015-12-03 21:56:25 +00:00
Colin Cross
77f411e116 Merge "Remove extra definition of AIDL" 2015-12-03 21:41:59 +00:00
Colin Cross
a8b896856a Remove extra definition of AIDL
AIDL is defined in the sometimes-prebuilt tools section, remove the
extra definition that was overriding it.

Change-Id: I677bf46475fd5fd4a9258c77d91ecee806e5f205
2015-12-03 13:33:11 -08:00
Colin Cross
8581e58b3b Merge "Use prebuilt tools in place"
am: 50e0646dbe

* commit '50e0646dbe1fb52918b38c75aefc49d24bfd9a24':
  Use prebuilt tools in place
2015-12-03 20:18:38 +00:00
Colin Cross
50e0646dbe Merge "Use prebuilt tools in place" 2015-12-03 20:12:48 +00:00
Shinichiro Hamaji
8707422e4e Merge "Remove warnings from ijar/classfile.cc"
am: 128053b91b

* commit '128053b91b959d0664c33659063c5246eb57a594':
  Remove warnings from ijar/classfile.cc
2015-12-03 05:42:52 +00:00
Shinichiro Hamaji
128053b91b Merge "Remove warnings from ijar/classfile.cc" 2015-12-03 05:39:24 +00:00
Dan Willemsen
da9c00da5f Enforce linker version-scripts are valid
Currently, if a version script is passed to the linker (using
-Wl,--version-script,...), it is used to limit symbol visibility and
assign symbol versions. But if a symbol is listed in the version script
but is not present in the binary, no error or warning is given.

Pass -Wl,--no-undefined-version to the linker so that it verifies all
(non-wildcard, C) entries in the version script match symbols in the
binary.

Change-Id: I65878931ab61124ae75e2c738cc733adfb107afc
2015-12-02 19:19:04 -08:00
Alex Klyubin
924a683760 Make signapk align .so entries to 4096 bytes.
This makes signapk align uncompressed .so entries to memory page
boundary (4096 bytes) to enable such libraries to be loaded at runtime
through memory-mapping the APK.

With this change in place, there should no longer be a need to run
zipalign after (or before) signapk.

Bug: 25794543
Change-Id: I74775af15a683791f57fcbd3497a79951b3f63a1
2015-12-02 19:02:01 -08:00
Tao Bao
1709cf3768 Merge "releasetools: Always use recovery mount options."
am: 643d466f7b

* commit '643d466f7b853ab4009723e2da200e3a6642d2ad':
  releasetools: Always use recovery mount options.
2015-12-03 01:30:40 +00:00
Tao Bao
643d466f7b Merge "releasetools: Always use recovery mount options." 2015-12-03 01:24:15 +00:00
Colin Cross
4e7bf63314 Merge "Provide path to mainDexClasses"
am: 62e99632c6

* commit '62e99632c61ef74fb04cf2bf6e079844e5dd8ae1':
  Provide path to mainDexClasses
2015-12-03 01:13:57 +00:00
Colin Cross
fd08247bcf Use prebuilt tools in place
Don't install the prebuilt SDK tools for TARGET_BUILD_APPS builds, just
execute them in place.  Avoids issues with duplicate rules for the
prebuilts and source modules when building with TARGET_BUILD_APPS in a
full platform tree.

Change-Id: I3cdb4f1a8208e8750310a5cc6130657613b683d1
2015-12-02 17:12:38 -08:00
Colin Cross
62e99632c6 Merge "Provide path to mainDexClasses" 2015-12-03 01:10:47 +00:00
Colin Cross
f87e971606 Provide path to mainDexClasses
Set MAINDEXCLASSES to the path to mainDexClasses.

Change-Id: I82532e8ea8dc7349178347e080fa0c63078ca9f5
2015-12-02 16:25:49 -08:00
Tao Bao
269d785ce0 releasetools: Always use recovery mount options.
Change-Id: I6e96c417ffb5ad36405f4a6f5342f80f358f375f
2015-12-02 15:51:47 -08:00
Tao Bao
d77af53fc6 Merge "releasetools: Abort the update on apply_patch failures."
am: 2a23c0c859

* commit '2a23c0c85919bada137985f9e3b32514185b38c5':
  releasetools: Abort the update on apply_patch failures.
2015-12-02 22:00:18 +00:00
Tao Bao
2a23c0c859 Merge "releasetools: Abort the update on apply_patch failures." 2015-12-02 21:56:42 +00:00
Tao Bao
c386890d0e releasetools: Abort the update on apply_patch failures.
We used to silently ignore the return value from apply_patch() even if
it had failed. It gives us more trouble to investigate the failure when
the affected file/partition gets touched in subsequent OTAs. This CL
adds the checking of the return value and aborts the update accordingly.

Bug: 25893277
Change-Id: Ie5e1c563576e503343e6a5b28ed4d7039f6f919c
2015-12-02 12:26:57 -08:00
Ying Wang
79215cdeab Merge "make USER limited to 6 characters when generating BF_BUILD_NUMBER"
am: 88ca8aff3e

* commit '88ca8aff3e4c6f776444ca8267b044b314f6aa0f':
  make USER limited to 6 characters when generating BF_BUILD_NUMBER
2015-12-02 17:53:17 +00:00
Ying Wang
88ca8aff3e Merge "make USER limited to 6 characters when generating BF_BUILD_NUMBER" 2015-12-02 17:48:21 +00:00
wei qiao
6fa82b50f4 make USER limited to 6 characters when generating BF_BUILD_NUMBER
the value of USER is dependent from the compilation environment,so
when compiling one same device project, the BUILD_FINGERPRINT may
exceed 91 characters because ${USER} is long, but with short ${USER}
the compilation can pass.

Signed-off-by: wei qiao <qiaowei224@gmail.com>
Change-Id: Ia0f7dfa9cf7d605f1f2603f70dd0e6877482eb8a
2015-12-02 11:47:27 +08:00
Shinichiro Hamaji
8f2968f095 Remove warnings from ijar/classfile.cc
Also add -Werror.

Change-Id: I2f9fda288d31bd34735856ade33916c93c45922a
2015-12-01 16:44:32 +09:00
Tao Bao
e82ea963e8 Merge "Stop packaging obsolete OTA tools."
am: b98fa19703

* commit 'b98fa19703ed0c7608f926007b1df257127ea777':
  Stop packaging obsolete OTA tools.
2015-12-01 02:28:19 +00:00
Tao Bao
b98fa19703 Merge "Stop packaging obsolete OTA tools." 2015-12-01 02:25:02 +00:00
Colin Cross
b16a63cbb0 Merge "Make export_includes a restat rule"
am: 615d66e2c2

* commit '615d66e2c21603552dc952db9493f43bbcc7f2b1':
  Make export_includes a restat rule
2015-12-01 01:45:58 +00:00
Colin Cross
615d66e2c2 Merge "Make export_includes a restat rule" 2015-12-01 01:42:26 +00:00
Colin Cross
6b9bddde6f Make export_includes a restat rule
There is currently an intentional incremental rebuild issue with
import_includes.  export_includes might get updated with an identical
version, but we don't want to force everything downstream of it to
rebuild.

When BUILDING_WITH_NINJA==true, only update export_includes if it
changes, and use .KATI_RESTAT to only run downstream rules if it
changes.  import_includes will only be updated if one of the
export_includes files is updated, so object files can have a normal
dependency on import_includes instead of an order-only dependency.
All downstream object files will now be recompiled if their imported
include paths change.

Bug: 25910568
Change-Id: I626f3b24ac02ac1309049cf1ce66cfe8ec816513
2015-11-30 17:33:26 -08:00
Colin Cross
bae8872294 Merge changes I1de10391,I4399ca26,Iec3b2b0b
am: bff3c9b4c1

* commit 'bff3c9b4c10dcb3ce3820d3a5e144e3df20313dc':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:03:27 +00:00
Colin Cross
bff3c9b4c1 Merge changes I1de10391,I4399ca26,Iec3b2b0b
* changes:
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:00:36 +00:00
Tao Bao
a04fca31bf Stop packaging obsolete OTA tools.
applypatch, applypatch_static and sqlite3 are no longer needed.

Bug: 24621915
Change-Id: I6de5bc45bc8434b9c387e1d3d1b6c347c23a5290
2015-11-30 12:22:24 -08:00
Tao Bao
e88245ddf0 Merge "releasetools: Allow logging the diff for incrementals."
am: 6d6e0481fa

* commit '6d6e0481fa86cb552e1b386e5449fe1fde2325cf':
  releasetools: Allow logging the diff for incrementals.
2015-11-30 20:15:39 +00:00
Tao Bao
6d6e0481fa Merge "releasetools: Allow logging the diff for incrementals." 2015-11-30 20:09:39 +00:00
Tao Bao
d62c603573 releasetools: Allow logging the diff for incrementals.
Add an option "--log_diff <filename>" to ota_from_target_files.py
script. When enabled, it logs the differences between the source
and target builds into <filename> when generating incremental OTAs.

Also move target_files_diff.py into releasetools/ so that it can be
packed into otatools.zip.

Bug: 25372309
Change-Id: Ifd4ed0f2f12ef040ee377621ec8c35a873cec34f
2015-11-30 11:26:40 -08:00