Commit Graph

176 Commits

Author SHA1 Message Date
Colin Cross ba9bc4d70f am 0d97557d: Merge "Enable color output from gcc and clang"
* commit '0d97557d3d6f56cf6dfdb7552d4f1471d56dfabe':
  Enable color output from gcc and clang
2015-09-25 23:17:02 +00:00
Colin Cross 63e3b0294f Enable color output from gcc and clang
Force gcc and clang to always output color diagnostics.  Ninja will
strip the ANSI color codes if it is not running in a terminal.

Bug: 24273983
Change-Id: Ic9252549bfacf3bbb3f4b9d20f63010fc24ac21d
2015-09-24 22:39:17 -07:00
Colin Cross 45b0c8f163 am c180dd0b: Merge "Revert "disable Krait for Mac builds to avoid assembler issues""
* commit 'c180dd0bfc55ae222f143dc86a333caf000cbf03':
  Revert "disable Krait for Mac builds to avoid assembler issues"
2015-09-25 01:11:48 +00:00
Colin Cross c180dd0bfc Merge "Revert "disable Krait for Mac builds to avoid assembler issues"" 2015-09-25 01:07:52 +00:00
Colin Cross 737cc70b50 Revert "disable Krait for Mac builds to avoid assembler issues"
This doesn't seem to be a problem any more, and mac builds
that differ from linux builds is causing other problems.

This reverts commit 7c40fb95dc.

Bug: 24339250
Change-Id: I8a0da11df42d58ba9c3ded4571f1db870f400a21
2015-09-25 00:30:34 +00:00
Dan Albert d9f9836e5e am 3ee9daac: Merge "Remove WITHOUT_(HOST|TARGET)_CLANG."
* commit '3ee9daac6a3bf8d2a9030b99f62595330f22cafa':
  Remove WITHOUT_(HOST|TARGET)_CLANG.
2015-09-16 23:31:41 +00:00
Dan Albert 32f7ff14ce Remove WITHOUT_(HOST|TARGET)_CLANG.
This is unused.

Change-Id: Ibc461fef02c82d110718003aceffb943c930ffe6
2015-09-16 15:43:00 -07:00
Dan Willemsen c98d9a9d0f am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit 'f1c09d7fbd92a08cc51950a7d35fb5f7fc564a20':
  Add HOST_CROSS_OS
2015-09-09 18:19:13 +00:00
Dan Willemsen 057aaea54a Add HOST_CROSS_OS
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
2015-09-09 18:12:29 +00:00
Evgenii Stepanov d259ecd171 am 617770c1: Merge "Add AddressSanitizer linker flags for x86."
* commit '617770c133330fc06070e97ce39bbf065c749c97':
  Add AddressSanitizer linker flags for x86.
2015-09-02 20:18:12 +00:00
Ivan Krasin b83e171c8d Add AddressSanitizer linker flags for x86.
This is the 1/4 change required to get AddressSanitizer
for Android x86 to work.

Change-Id: I848805af34fdd32a313c991504d6014f9b97ab88
2015-09-02 11:59:45 -07:00
Elliott Hughes f04f391b5f am 4548e7f4: Merge "Remove AndroidConfig.h."
* commit '4548e7f49dbec05c8b8187b0ea9e746fc47ec5d3':
  Remove AndroidConfig.h.
2015-08-28 19:59:18 +00:00
Elliott Hughes 43146118aa Remove AndroidConfig.h.
This change leaves soong references.

Change-Id: Iee32b6b97ad9711f69e999c9d01f01d71562b63f
2015-08-28 10:31:28 -07:00
Chih-hung Hsieh 2cc00c305c am 3eccd047: am 59c858fc: Merge "Remove special x86 flag that disables tail call optimization."
* commit '3eccd04784d4a92e224bf0e6917f9a3b0353da1d':
  Remove special x86 flag that disables tail call optimization.
2015-08-18 22:22:23 +00:00
Chih-hung Hsieh 59c858fc94 Merge "Remove special x86 flag that disables tail call optimization." 2015-08-18 22:11:03 +00:00
Stephen Hines 7b6af490e9 am 5d17a7e2: am 2e08cb6e: Merge "Add -mfpu=neon-vfpv4 if cpu is krait"
* commit '5d17a7e2adf505fd7a97782f54856c86a237369d':
  Add -mfpu=neon-vfpv4 if cpu is krait
2015-08-15 02:18:58 +00:00
Stephen Hines 2e08cb6e1b Merge "Add -mfpu=neon-vfpv4 if cpu is krait" 2015-08-15 02:04:55 +00:00
Ying Wang c7b8ee0974 am 66c8e8c7: Don\'t prepend CC_WRAPPER to CLANG.
* commit '66c8e8c756fb1790cac792b32ba2de057c3b1b4e':
  Don't prepend CC_WRAPPER to CLANG.
2015-08-03 21:21:01 +00:00
Ying Wang 3e3d7b5ce5 Don't prepend CC_WRAPPER to CLANG.
We have deferred the CC_WRAPPER prepending to binary.mk per module.

Bug: 22612634
Change-Id: If2c0549503989d17ff7be619fdd49c26fd78f0a5
(cherry-pick from commit 66c8e8c756)
2015-08-03 14:08:54 -07:00
Ying Wang 66c8e8c756 Don't prepend CC_WRAPPER to CLANG.
We have deferred the CC_WRAPPER prepending to binary.mk per module.

Bug: 22612634
Change-Id: If2c0549503989d17ff7be619fdd49c26fd78f0a5
2015-08-03 14:06:58 -07:00
Evgenii Stepanov 436a2fb9e3 am 275e3c8c: am 2d0ec893: Merge "Use a different linker for ASan binaries."
* commit '275e3c8c105e5702b25868f80983c82c668e5664':
  Use a different linker for ASan binaries.
2015-07-15 21:27:42 +00:00
Evgenii Stepanov 8f5e67a98c Use a different linker for ASan binaries.
Another change in bionic/linker adds linker_asan/linker_asan64 that
know where to find ASan shared libraries.
Also, include linker_asan to the required packages list when building
for ASan.

Change-Id: I8ebe7c0091bbeb0c135708a891d33d9844373d37
2015-07-14 11:10:40 -07:00
Pirama Arumuga Nainar 2d5a50e686 Add -mfpu=neon-vfpv4 if cpu is krait
Upstream clang r239152 (http://reviews.llvm.org/D10239) caused a pretty
significant change in behavior.  Passing an FPU feature via -mfpu
disables any feature not supported by those flags (in addition to the
old behavior of enabling features supported by the flags).  For e.g.,
-mfpu=neon used to just pass +neon, +vfp3 as target features to the
backend.  Now, -mfpu=neon also passes -vfp4, -fp16, -fp-armv8.

The backend has always disabled implied feature bits if a feature is
disabled.  Upon seeing the target feature -vfp4, it will disable any
processor/feature that implies vfp4, including the bit that the
processor is a Krait.  Since Krait has both Neon and vfp4, it is safe to
pass '-mfpu=neon-vfpv4'.

Change-Id: Ibbb992e80b8cbc8dc36d5df556885d0912baea22
2015-07-09 12:55:00 -07:00
Ying Wang 91a38d07d0 am 68787b3d: am bbaeaa58: Merge "Configure synci generation explicitly"
* commit '68787b3d1e0b230f3fd812759be03736f73daaf4':
  Configure synci generation explicitly
2015-07-02 06:39:10 +00:00
Ying Wang bbaeaa5879 Merge "Configure synci generation explicitly" 2015-07-01 18:58:52 +00:00
Evgenii Stepanov ff57fb45c7 am be8dd615: am 473dfdf7: Merge "Move sanitized vendor libraries to /data/vendor/lib(|64)."
* commit 'be8dd6154b021b78422df44c4a7841899cc24866':
  Move sanitized vendor libraries to /data/vendor/lib(|64).
2015-06-30 22:02:47 +00:00
Evgenii Stepanov bf140974b2 Move sanitized vendor libraries to /data/vendor/lib(|64).
Sanitized RPATH now mentions /system/vendor/lib to preserve overlay
in the case when a sanitized version of a vendor library can not be
built.

Bug: 22199458
Change-Id: I3222d2e1d6c08fdd1e0404fcb7db347aa4a92bb7
2015-06-30 14:04:45 -07:00
Evgenii Stepanov a43f213c78 am 5f41fc3d: am eac1f6ed: Merge "With SANITIZE_TARGET, move shared libraries to /data."
* commit '5f41fc3d4d12cd5d1dd195c7369661e5b516c310':
  With SANITIZE_TARGET, move shared libraries to /data.
2015-06-19 21:27:42 +00:00
Dan Albert 6f3527fe60 am cf66a791: am 4fbb83dd: Merge "Add support for `LOCAL_SANITIZE := integer`."
* commit 'cf66a79130a7382a583f20197f42436a5c1d4095':
  Add support for `LOCAL_SANITIZE := integer`.
2015-06-19 18:16:24 +00:00
Evgenii Stepanov 4d3d4141ae With SANITIZE_TARGET, move shared libraries to /data.
A fully (or even mostly) asan-instrumented device will have 2 copies of each
shared library, which might not fit on system partition. Moving instrumented
libraries to /data.

Bug: 21785137
Change-Id: I64184261da2eb24a1382c67e4931c34a5a38b3c0
2015-06-19 11:15:50 -07:00
Dan Albert abf4bc916a Add support for `LOCAL_SANITIZE := integer`.
This also does a bit of cleanup in config_sanitizers.mk. The result is
that `LOCAL_SANITIZE := <any arbitrary ubsan group>` should function
fine for both host and target.

This is a superset of LOCAL_DETECT_INTEGER_OVERFLOWS, so remove that.
This also checks integer division by zero.  It's supposed to cover
shifting undefined behaviors as well, but apparently it does not
(though `LOCAL_SANITIZE := shift` works fine).

Change-Id: I4ac99eafa6920a3f8cb82af37ce56ff0fdb95223
2015-06-19 10:28:06 -07:00
Elliott Hughes 4159f578ef am e6faff17: am 40990c83: Merge "Revert "[MIPS] Do not use compact branches until GDB supports them""
* commit 'e6faff17ffa23245d480da6192a75986e02707d3':
  Revert "[MIPS] Do not use compact branches until GDB supports them"
2015-06-17 17:19:49 +00:00
Nikola Veljkovic 91091280f1 Revert "[MIPS] Do not use compact branches until GDB supports them"
This reverts commit 063ef33089.
2015-06-17 17:22:26 +02:00
Elliott Hughes 9b7356cc6d am a6b14661: am 1a81a0ef: Merge "[MIPS] Do not use compact branches until GDB supports them"
* commit 'a6b14661687d8da6a8f566dd2fb104986b411565':
  [MIPS] Do not use compact branches until GDB supports them
2015-05-29 05:07:20 +00: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
Ying Wang d054f1f747 am 7ffd7c20: am df5c798f: Merge "[MIPS] Temporarily disable Mips shared-textrel errors"
* commit '7ffd7c207be55b86416845dbd5ffa8f69518ab68':
  [MIPS] Temporarily disable Mips shared-textrel errors
2015-05-14 16:35:30 +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
Evgenii Stepanov 6708b6c99c Fix AddressSanitizer link order and multilib setup.
ASan runtime library (when using dynamic linking) must be the first
dependency of the main executable to achieve correct symbol
interposition. This matches how the clang driver works.

In multilib setup, ASan-RT name depends on the target arch:
  /system/lib/libclang_rt.asan-arm-android.so
  /system/lib64/libclang_rt.asan-arm64-android.so

We also set RPATH to /system/lib/asan or /system/lib64/asan
to have a place for ASan-only versions of system libraries.

Change-Id: I937d202077b6e433ba476c075d31be818b662d53
2015-05-12 13:40:29 -07:00
Chih-Hung Hsieh d88ebe7f14 am 0ba68baf: Upgrade x86 gcc to 4.9 and disable devirtualization.
* commit '0ba68bafa3b465110d10da1a57a1843ff91b2f3a':
  Upgrade x86 gcc to 4.9 and disable devirtualization.
2015-05-06 00:52:22 +00:00
Chih-Hung Hsieh 0ba68bafa3 Upgrade x86 gcc to 4.9 and disable devirtualization.
Also filter out gcc-only flags -Wno-clobbered and -fno-devirtualize
when compiled with clang/llvm.

BUG: 19872411
Change-Id: I6de57583be04da607f569df65e93531787dbb789
(cherry picked from AOSP commit 90036610dd)
2015-05-06 00:24:18 +00:00
Chih-Hung Hsieh 90036610dd Upgrade x86 gcc to 4.9 and disable devirtualization.
Also filter out gcc-only flags -Wno-clobbered and -fno-devirtualize
when compiled with clang/llvm.

BUG: 19872411
Change-Id: I6de57583be04da607f569df65e93531787dbb789
2015-05-04 14:04:58 -07:00
Chris Dearman ab3a5f490c Configure synci generation explicitly
The default for synci generation is compiler version dependent

Change-Id: I3f94cabd98c45aaa4e5149e8bb050dc47efa61ca
2015-04-30 13:22:16 -07:00
Evgenii Stepanov 68f8620ccb am 59b0dad7: am 55f3c4c2: Merge "Fix AddressSanitizer link order and multilib setup."
* commit '59b0dad7272118e39be180eef24ffa50c0ffdf17':
  Fix AddressSanitizer link order and multilib setup.
2015-04-27 23:14:37 +00:00
Evgenii Stepanov f0b15e173b Fix AddressSanitizer link order and multilib setup.
ASan runtime library (when using dynamic linking) must be the first
dependency of the main executable to achieve correct symbol
interposition. This matches how the clang driver works.

In multilib setup, ASan-RT name depends on the target arch:
  /system/lib/libclang_rt.asan-arm-android.so
  /system/lib64/libclang_rt.asan-arm64-android.so

We also set RPATH to /system/lib/asan or /system/lib64/asan
to have a place for ASan-only versions of system libraries.

Change-Id: I5c0cdb89e5e08a1950eb276e406da9f31a6e52dd
2015-04-27 14:48:35 -07:00
Dan Albert c2bc25496d am 07607526: am 63082eab: am b6874440: Merge "Add support for a partial ubsan build."
* commit '07607526b8701f471869aecbd89fe4ea1990251e':
  Add support for a partial ubsan build.
2015-04-17 20:14:13 +00:00
Dan Albert b5b2ffe3be Add support for a partial ubsan build.
Some of the ubsan checks expose a few pathological performance cases
in clang, and thus aren't suited to be used in SANITIZE_HOST.

This mode is also supported on the target despite not having the
target runtime libraries for ubsan by generating traps.

Change-Id: I0b0f0a08ca84d72e44e2174a66726b1c5e5cad7e
2015-04-17 11:37:03 -07:00
Dan Albert 97952ce8ac am 3bc25d69: am 683a387e: am 4ed95088: Merge "Add support for ubsan."
* commit '3bc25d69580b5cdedd834fe6accf9cc27c0fb102':
  Add support for ubsan.
2015-04-15 22:56:21 +00:00
Dan Albert 4ed9508842 Merge "Add support for ubsan." 2015-04-15 22:06:15 +00:00
Pirama Arumuga Nainar 30314ea5ff am 1a2fd2eb: am 05130993: am dbecad05: Merge "Use -Wno-format-pedantic to disable overly aggressive format string warning."
* commit '1a2fd2eb1ac5160feb020b65a030c9b2c66d5dfc':
  Use -Wno-format-pedantic to disable overly aggressive format string warning.
2015-04-10 21:58:51 +00:00
Stephen Hines b992bfcf33 Use -Wno-format-pedantic to disable overly aggressive format string warning.
Bug: 20148343

The latest clang warns on "%p" being used with non-void pointer types, which
would require a great deal of cleanup in several sub-projects.

Change-Id: I4175d5cf8709504455067c906a2eb8ccc8e25432
2015-04-10 09:12:38 -07:00