Commit Graph

8452 Commits

Author SHA1 Message Date
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
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
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
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
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
f87e971606 Provide path to mainDexClasses
Set MAINDEXCLASSES to the path to mainDexClasses.

Change-Id: I82532e8ea8dc7349178347e080fa0c63078ca9f5
2015-12-02 16:25:49 -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
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
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
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
Shinichiro Hamaji
89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji
51ef51c4ad Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files""
am: 2ff3ad9045

* commit '2ff3ad90455e868a1805d065f0aa2b8babbc6660':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:02:09 +00:00
Shinichiro Hamaji
2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji
3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Paul Duffin
9c4bb4c1c0 Merge "Fix generated-sources-dir-for for COMMON"
am: 623799d3e0

* commit '623799d3e0aab49b00552fb7862f2528b845bd51':
  Fix generated-sources-dir-for for COMMON
2015-11-26 11:43:02 +00:00
Paul Duffin
623799d3e0 Merge "Fix generated-sources-dir-for for COMMON" 2015-11-26 11:39:30 +00:00
Shinichiro Hamaji
27770abe27 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
am: c9a1b27845

* commit 'c9a1b278458eddd3065c0e9fc06e12b2cb1c38cb':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:30:54 +00:00
Shinichiro Hamaji
c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Paul Duffin
699a32217a Fix generated-sources-dir-for for COMMON
When the 4th argument specified is non-empty then it attempts to
use either HOST_OUT_GEN_COMMON or TARGET_OUT_GEN_COMMON
depending on whether the 3rd argument is non-empty or not
respectively. Unfortunately, those two variables do not exist,
the correct names for those variables is HOST_OUT_COMMON_GEN and
TARGET_OUT_COMMON_GET.

Change-Id: I66edb02824c06e0f504ebe04ff80ddbd77a16c95
2015-11-25 13:14:23 +00:00
Ying Wang
f0522b0c34 Merge "Fix typo."
am: deeb2d2453

* commit 'deeb2d245397a8330890247697d01629f763ec31':
  Fix typo.
2015-11-24 22:16:45 +00:00
Ying Wang
deeb2d2453 Merge "Fix typo." 2015-11-24 22:09:49 +00:00
Ying Wang
6cce4026ff Fix typo.
Change-Id: I299076791c620968fa7a5c420b5ca21ea4d30b51
2015-11-24 14:09:11 -08:00
Ying Wang
fdfd0b0d81 Merge "Don\'t delete META-INF in jack-java-to-dex when packing resources."
am: 81bbac6a0f

* commit '81bbac6a0fe76f2b007f6f0c2c3dc44f85fd4dd6':
  Don't delete META-INF in jack-java-to-dex when packing resources.
2015-11-24 22:01:54 +00:00
Ying Wang
81bbac6a0f Merge "Don't delete META-INF in jack-java-to-dex when packing resources." 2015-11-24 21:58:06 +00:00
Ying Wang
3be52e6692 Don't delete META-INF in jack-java-to-dex when packing resources.
LOCAL_DONT_DELETE_JAR_META_INF is meant for deleting resources carried
by static Java libraries, see comment in clear_vars.mk.
For a module's own resources, we should pick up whatever in
LOCAL_JAVA_RESOURCE_DIRS.
The same applies  when building .jack from a  prebult jar in
transform-jar-to-jack.

Bug: 25860887
Change-Id: I20c120e039342a1124362c5f8747eace94b03931
(cherry-pick from commit 996ae38ffd)
2015-11-24 13:57:10 -08:00
Shinichiro Hamaji
22a2efde22 Merge "Prevent findleaves.py from traversing copies of "
am: 84639d127b

* commit '84639d127b50734ef670232bfa43a6fb9f3f0576':
  Prevent findleaves.py from traversing copies of $(OUT_DIR)
2015-11-24 04:57:26 +00:00
Shinichiro Hamaji
84639d127b Merge "Prevent findleaves.py from traversing copies of $(OUT_DIR)" 2015-11-24 04:54:02 +00:00
Ying Wang
59ab005dde Merge "Increase droiddoc -J-Xmx to 1600MB."
am: 01f49a3d5e

* commit '01f49a3d5e5d8f4fdd83d1b74a230f8160aabe08':
  Increase droiddoc -J-Xmx to 1600MB.
2015-11-20 02:38:00 +00:00
Ying Wang
02bcb27b4a Increase droiddoc -J-Xmx to 1600MB.
As we occasionally see  java.lang.OutOfMemoryError when running
doc-comment-check-docs.

Bug: 25787786
Change-Id: I6c505c96ec36d09d28d400e03027b169870c49bb
2015-11-19 18:31:01 -08:00
Christopher Wiley
dbc3d09ca6 Merge "Fix race in C++ AIDL file generation"
am: b2055df782

* commit 'b2055df782eb5276128ef14ac4724d32f94e1aec':
  Fix race in C++ AIDL file generation
2015-11-19 22:07:06 +00:00
Colin Cross
d924c14097 Merge "Switch to using kati env script"
am: 7926e42209

* commit '7926e42209b41766369e49b2093e6334564f93d4':
  Switch to using kati env script
2015-11-19 22:06:52 +00:00
Christopher Wiley
b2055df782 Merge "Fix race in C++ AIDL file generation" 2015-11-19 22:01:27 +00:00
Christopher Wiley
2d91c61ef0 Fix race in C++ AIDL file generation
The export_includes file for a library needs to express a dependency on
all generated exported headers.  For aidl generated headers, express a
dependency on the .cpp file instead, since the generator promises to
generate this file last.  Unfortunately, the C++ headers generated from
a .aidl file depend on the contents of the file.

Change-Id: I9402b364e4538b502c0958ac8c7bd72cb0add724
2015-11-19 13:52:15 -08:00
Colin Cross
7926e42209 Merge "Switch to using kati env script" 2015-11-19 21:11:01 +00:00
Christopher Wiley
a626a5f6d9 Merge "Export generated AIDL headers"
am: 0c595d4730

* commit '0c595d47304e6c00a493600b4a46f655cd148db9':
  Export generated AIDL headers
2015-11-19 19:24:42 +00:00
Christopher Wiley
0c595d4730 Merge "Export generated AIDL headers" 2015-11-19 19:17:47 +00:00
Christopher Wiley
c7e936f530 Export generated AIDL headers
It is common for developers to generate/compile AIDL in a static
library, then link that library into an executable.  When doing this,
developers need to export the generated headers.

Bug: 25779424
Test: a refactoring of the aidl Android.mk shows this works

Change-Id: I4f7d471a601d2a683cb5a9da5e02e3fab576c26a
2015-11-19 11:04:18 -08:00
Stephen Hines
4b191b40b7 Merge "Rename AArch64 ASan target runtime library to match upstream convention."
am: af9e29d040

* commit 'af9e29d040dc20aeb4cceb545d864d41ecf0bca5':
  Rename AArch64 ASan target runtime library to match upstream convention.
2015-11-19 16:20:00 +00:00