Commit Graph

915 Commits

Author SHA1 Message Date
Chih-Hung Hsieh c248fa3e01 Raise x86 arch requirement to prescott.
Atomic functions used in external/libcxx/include/atomic when compiled with Clang
will require intrinsic functions exist only for prescott or newer CPUs.

BUG: 17530542
Change-Id: I0c9660ed2ffa75b940981eb8165d88934b39aec5
2014-10-22 15:25:49 -07:00
Neil Fuller 46e00ea4ba Remove Java 6 build support
Change-Id: I9754844af58e3f81d7eb9dae286128d17a2cb56c
2014-10-22 10:53:59 +01:00
Ying Wang 89897723ea resolved conflicts for merge of 3a2b9f0a to lmp-mr1-dev-plus-aosp
Change-Id: I2e09a3845d48bc52eca49cb7913f85960e0d9db8
2014-10-20 17:51:50 -07:00
Naseer Ahmed 3a2b9f0a49 core: OSX: Support 10.9 SDK as well
Change-Id: I764102df9b84ca19d217e35a209a9c80abeed6e7
2014-10-20 17:34:49 -07:00
Stephen Hines 52b4d2f096 am 7d86749d: am ed8206db: Merge "Remove unnecessary 10.8-specific build rules"
* commit '7d86749da7033dcf230ceb67f9ae0cd676441e4d':
  Remove unnecessary 10.8-specific build rules
2014-10-20 18:30:27 +00:00
Stephen Hines 554e514c21 am 7d86749d: am ed8206db: Merge "Remove unnecessary 10.8-specific build rules"
* commit '7d86749da7033dcf230ceb67f9ae0cd676441e4d':
  Remove unnecessary 10.8-specific build rules
2014-10-20 18:30:08 +00:00
Stephen Hines ed8206dba4 Merge "Remove unnecessary 10.8-specific build rules" 2014-10-20 18:06:35 +00:00
Dan Albert ecc5e3218a am ec28a489: am 28c2d3b9: Merge "Fix breakage for x86_64 static executables."
* commit 'ec28a489e8d4fe7ddc35bee1f16e08bebd202dac':
  Fix breakage for x86_64 static executables.
2014-10-18 02:42:35 +00:00
Dan Albert 82f820e416 am ec28a489: am 28c2d3b9: Merge "Fix breakage for x86_64 static executables."
* commit 'ec28a489e8d4fe7ddc35bee1f16e08bebd202dac':
  Fix breakage for x86_64 static executables.
2014-10-18 02:42:07 +00:00
Stephen Hines 781094fa43 Remove unnecessary 10.8-specific build rules
We no longer need gcc for host builds, since those all run through clang. This
header include, however, triggers errors about SSE intrinsics by replacing
the more relevant include dirs that we should be using.

Change-Id: I26a949f0109de8e6e2d1f09cb8127be927549cc4
2014-10-17 17:36:42 -07:00
Dan Albert 403ab71eba Fix breakage for x86_64 static executables.
Yikes. Don't know how this slipped through code review.

I had actually mentioned a need for cleanup in this part of the build
system earlier, since the amount of duplication between
transform-o-to-* for each arch means we might fix things incorrectly
in one of them (as I've just shown). Similarly, code reviewers are
likely to skim each one after the first if they all look close enough
(which is presumably what happened here).

Change-Id: I9b85914510f0b114485021deb97f42740712aae5
2014-10-17 16:58:38 -07:00
Ian Rogers 7cbe40efbb am defe864a: am 07b212ac: Merge "Move definition of -D__ARM_FEATURE_LPAE=1 cflag to top-level."
* commit 'defe864ab6f971efc00328cee5ea3cb1d69d377d':
  Move definition of -D__ARM_FEATURE_LPAE=1 cflag to top-level.
2014-10-16 20:13:11 +00:00
Ian Rogers 1bd593ca0b am defe864a: am 07b212ac: Merge "Move definition of -D__ARM_FEATURE_LPAE=1 cflag to top-level."
* commit 'defe864ab6f971efc00328cee5ea3cb1d69d377d':
  Move definition of -D__ARM_FEATURE_LPAE=1 cflag to top-level.
2014-10-16 20:13:05 +00:00
Ian Rogers 63e551f0ae Move definition of -D__ARM_FEATURE_LPAE=1 cflag to top-level.
LPAE indicates better instructions can be used when atomicity guarantees are
needed. However, LPAE's presence isn't advertised by clang/GCC. We fake an
ARM feature to advertise its presence on architectures where it is.
Also, add a TODO documenting that cortex-a15 is not the correct CPU variant
for krait.

Change-Id: I02a1248025c32d94eca0bc8a249dc524f1ac9c36
2014-10-15 15:44:16 -07:00
Dan Albert a8abcb365b resolved conflicts for merge of 852fc3e6 to lmp-mr1-dev-plus-aosp
Change-Id: I9809c14b2f9ffb539272aba66d3a27d8107b81ea
2014-10-14 17:17:22 -07:00
Dan Albert ae66eba6f3 resolved conflicts for merge of 852fc3e6 to lmp-dev-plus-aosp
Change-Id: If3de742dcd2157c4690ae0eb34494dc11492054f
2014-10-14 17:15:17 -07:00
Dan Albert e1b17e7ef5 Link compiler-rt in the correct order.
The compiler run-time library should always be the _last_ thing linked
when building static executables. This was being done correctly for
libgcc, but not when using compiler-rt.

Change-Id: I0689dc35f55caad2fe74c0cbb4cbe3008ded349a
2014-10-14 10:45:33 -07:00
Elliott Hughes 9b5e64a808 am 33f33371: am 165fdf42: Merge "Remove "-mstackrealign" option from all x86 builds."
* commit '33f33371cdef7d8faa9f39cd4902698856c0bb64':
  Remove "-mstackrealign" option from all x86 builds.
2014-10-13 22:45:43 +00:00
Elliott Hughes 337dd2e637 am 33f33371: am 165fdf42: Merge "Remove "-mstackrealign" option from all x86 builds."
* commit '33f33371cdef7d8faa9f39cd4902698856c0bb64':
  Remove "-mstackrealign" option from all x86 builds.
2014-10-13 22:45:42 +00:00
Alexander Ivchenko ae2d47a47f Remove "-mstackrealign" option from all x86 builds.
For ndk docs change, please refer to:
https://android-review.googlesource.com/#/c/110100/

Change-Id: I8428e7a979eb02441066aeeee43ce693d4d0dc8d
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2014-10-13 19:08:01 +04:00
Dan Albert ddbf420dae am a3b31d7b: am 642c81ea: Merge "Stash original values of CC and CXX."
* commit 'a3b31d7b83254a644efd12de3de835594124ef65':
  Stash original values of CC and CXX.
2014-10-06 19:28:48 +00:00
Dan Albert cb6992b4b4 am a3b31d7b: am 642c81ea: Merge "Stash original values of CC and CXX."
* commit 'a3b31d7b83254a644efd12de3de835594124ef65':
  Stash original values of CC and CXX.
2014-10-06 18:46:03 +00:00
Dan Albert ec1b90f81f Stash original values of CC and CXX.
This way we can still access the real compiler as opposed to a wrapped
one.

Change-Id: I17ba30416a3eb8eda056c67faaa8b5957e70caea
2014-10-06 10:43:29 -07:00
Stephen Hines 5a217a9a10 am dcc376ab: am 07a11d31: Merge "Switch to hermetic GCC 4.8.3-based x86_64-w64-mingw32-4.8 compiler." into lmp-dev
* commit 'dcc376abc3a085339e89faccccef61aaf8336966':
  Switch to hermetic GCC 4.8.3-based x86_64-w64-mingw32-4.8 compiler.
2014-10-02 12:41:49 +00:00
Stephen Hines f075ad906d am 07a11d31: Merge "Switch to hermetic GCC 4.8.3-based x86_64-w64-mingw32-4.8 compiler." into lmp-dev
* commit '07a11d31f0baa355f9c3da60f965a56ff1d125e5':
  Switch to hermetic GCC 4.8.3-based x86_64-w64-mingw32-4.8 compiler.
2014-10-01 23:01:30 +00:00
Dan Albert 21ba3a3b66 am 3594f5f0: am 9979ae43: Merge "Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h."
* commit '3594f5f0ed04853f2171a7f0f719a1e25dba3b6d':
  Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h.
2014-10-01 20:54:43 +00:00
Dan Albert 3a4ae05422 am 3594f5f0: am 9979ae43: Merge "Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h."
* commit '3594f5f0ed04853f2171a7f0f719a1e25dba3b6d':
  Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h.
2014-10-01 20:50:08 +00:00
Dan Albert 2251ea40ba Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h.
Change-Id: If2018529a6c067b63e1a59c16c911d63ec2ebbf4
2014-10-01 10:12:25 -07:00
Stephen Hines dc64c7b460 Switch to hermetic GCC 4.8.3-based x86_64-w64-mingw32-4.8 compiler.
Bug: 14416410

prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
is the location for the checked-in hermetic mingw Windows compiler. This
removes our reliance on host mingw when building with "make win_sdk".

Change-Id: I1f9bbb85912d9855be32f9cab4bdfd12d6d3246c
2014-09-30 02:38:41 -07:00
Ian Rogers ed51a9d21e am d1f73b01: am 577184aa: Merge "Test __GLIBC__ is defined before using its value."
* commit 'd1f73b018d3815eec54a6614a57ff3e25bbaf64a':
  Test __GLIBC__ is defined before using its value.
2014-09-26 15:53:57 +00:00
Ian Rogers 740e46b549 am d1f73b01: am 577184aa: Merge "Test __GLIBC__ is defined before using its value."
* commit 'd1f73b018d3815eec54a6614a57ff3e25bbaf64a':
  Test __GLIBC__ is defined before using its value.
2014-09-26 15:53:12 +00:00
Ian Rogers 850a4cb72b Test __GLIBC__ is defined before using its value.
Avoids -Wundef warning.

Change-Id: I52d8223500fe31cdf7023e32e96df75e33eb2f7e
2014-09-25 17:34:40 -07:00
Dan Albert b43af8807f resolved conflicts for merge of 326f9450 to lmp-mr1-dev-plus-aosp
Change-Id: I10e578a3d10a03312cbc4058a92f02ccaba1739c
2014-09-24 09:51:05 -07:00
Dan Albert 7655a97984 resolved conflicts for merge of 326f9450 to lmp-dev-plus-aosp
Change-Id: I66360da623a6e7ac04610c3252f24ed69f7e4b1e
2014-09-24 09:42:39 -07:00
Dan Albert 3302924802 Merge "Add option for generating coverage info." 2014-09-24 16:03:27 +00:00
Dan Albert 4bbc6c790b Add option for generating coverage info.
To enable building with coverage, the environment variable
NATIVE_COVERAGE must be set to true.

Set `LOCAL_NATIVE_COVERAGE := true` to generate coverage information for
a given component.

This is currently not supported for clang (b/17574078, b/17583330).

If static library A is included in a binary B (dynamic or static
executable, or shared library), and A is built with coverage
information, B is required to link with libgcov.a. Since the make does
not offer a good way to track this dependency, link libgcov.a even if
LOCAL_NATIVE_COVERAGE is not set (but still guarded by NATIVE_COVERAGE).
This ensures that all of the libgcov dependencies will always be
resolved, and causes no change in the resulting binary if coverage is
not used.

Bug: 10134489
Change-Id: Id5a19f2c215e4be80e6eae27ecc19b582f2f6813
2014-09-23 15:19:02 -07:00
Elliott Hughes c679451484 am 31f21208: am cb0755f8: Merge "Remove unused HAVE_OFF64_T."
* commit '31f2120848d2dcbbe3f2571ce9993d3dabff490f':
  Remove unused HAVE_OFF64_T.
2014-09-23 21:37:19 +00:00
Elliott Hughes f811b82b4d am 31f21208: am cb0755f8: Merge "Remove unused HAVE_OFF64_T."
* commit '31f2120848d2dcbbe3f2571ce9993d3dabff490f':
  Remove unused HAVE_OFF64_T.
2014-09-23 21:37:05 +00:00
Elliott Hughes 8fe8dc83e3 Remove unused HAVE_OFF64_T.
Change-Id: I24acf64efcd0fd84d5dda342d4c4293fa59fae1a
2014-09-23 13:36:01 -07:00
Elliott Hughes c1dd3578a7 am 5d76f9e8: am 88c7544e: Merge "Remove the unused IPC macros."
* commit '5d76f9e8c87ac48b2ff6cceb13cb438c8e6d7064':
  Remove the unused IPC macros.
2014-09-23 16:17:33 +00:00
Elliott Hughes 0b1529d064 am 5d76f9e8: am 88c7544e: Merge "Remove the unused IPC macros."
* commit '5d76f9e8c87ac48b2ff6cceb13cb438c8e6d7064':
  Remove the unused IPC macros.
2014-09-23 16:16:48 +00:00
Elliott Hughes 76ab00f189 Remove the unused IPC macros.
There are still a couple of references to HAVE_WIN32_IPC to be dealt with
later.

Change-Id: Id131fbf2e96d4c1c7bb98629779045375bd5f85f
2014-09-22 20:43:32 -07:00
Elliott Hughes c08b4f0389 am 50bd6b99: am c65d93f6: Merge "build: remove HAVE_OOM_ADJ"
* commit '50bd6b99796e1ec8d688e5867bfe487d50e21372':
  build: remove HAVE_OOM_ADJ
2014-09-23 02:09:15 +00:00
Elliott Hughes ff9fd2c3ed am 50bd6b99: am c65d93f6: Merge "build: remove HAVE_OOM_ADJ"
* commit '50bd6b99796e1ec8d688e5867bfe487d50e21372':
  build: remove HAVE_OOM_ADJ
2014-09-23 02:07:01 +00:00
Todd Poynor 9c226d1f9e build: remove HAVE_OOM_ADJ
This define is no longer used.

Change-Id: I6615d6e4aa09f71b7c4c435ccb83a07bba91b6dc
2014-09-22 18:47:48 -07:00
Elliott Hughes 6666562c27 am a4a57339: am e2f54706: Merge "Remove unused HAVE_EPOLL."
* commit 'a4a57339f3de18ee3fef962fea925962a49b26a3':
  Remove unused HAVE_EPOLL.
2014-09-19 23:17:04 +00:00
Elliott Hughes ae9c91b8b1 am a4a57339: am e2f54706: Merge "Remove unused HAVE_EPOLL."
* commit 'a4a57339f3de18ee3fef962fea925962a49b26a3':
  Remove unused HAVE_EPOLL.
2014-09-19 23:11:08 +00:00
Elliott Hughes e2f5470606 Merge "Remove unused HAVE_EPOLL." 2014-09-19 22:54:17 +00:00
Elliott Hughes 67839a58be Remove unused HAVE_EPOLL.
The only people who appear to be using this are actually using their own
one.

Change-Id: I349ed4ce3874c1b2f9bad56c93c8ccee88ae9432
2014-09-19 15:12:56 -07:00
Dan Albert 220b01ba27 am 92421720: am 98f7742a: Merge "Move selection of C++ STL into the build system."
* commit '9242172094691c7203ba7cf0a5e5db611ca9032b':
  Move selection of C++ STL into the build system.
2014-09-19 00:16:16 +00:00
Dan Albert 46edd9b103 am 92421720: am 98f7742a: Merge "Move selection of C++ STL into the build system."
* commit '9242172094691c7203ba7cf0a5e5db611ca9032b':
  Move selection of C++ STL into the build system.
2014-09-19 00:15:23 +00:00
Dan Albert b05f2ca150 Move selection of C++ STL into the build system.
Preparing for migration from stlport to libc++. STL selection is done
with LOCAL_CXX_STL (valid values are default, none, libc++,
libc++_static, stlport, stlport_static, bionic).

The selection of the STL is as follows:

    if LOCAL_CXX_STL == 'default'
      ifdef LOCAL_SDK_VERSION
        Use whatever STL the other NDK options have selected.
      else
        Use bionic's libstdc++ for target, GNU libstdc++ for host. This
        is compatible with the existing build options.
      endif
    else
      if LOCAL_CXX_STL == 'stlport'
        Use stlport.
      else if LOCAL_CXX_STL == 'libc++'
        Use libc++.
      else if LOCAL_CXX_STL == ''
        Don't use any STL.
      endif
    endif

Bug: 15193147
Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
2014-09-18 16:38:20 -07:00
Alexander Ivchenko 4ee006e012 Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64:
Remove -msse2 for x86 (-mssse3 should be provided by the compiler).
       Remove -fPIC (compiler provides by default).
       Remove -fno-inline-functions-called-once.

Change-Id: Ibb29934224c4eedfff926dc72c3b6342c1861ac9
(cherry picked from commit 388dce3192)
2014-09-10 11:50:21 -07:00
Ying Wang a33c6151b0 am ecc28e95: am 48505328: Merge "Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64:"
* commit 'ecc28e9525e869f72ea0b1c70250db32d2d81e0a':
  Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64:
2014-09-10 17:16:58 +00:00
Alexander Ivchenko 388dce3192 Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64:
Remove -msse2 for x86 (-mssse3 should be provided by the compiler).
       Remove -fPIC (compiler provides by default).
       Remove -fno-inline-functions-called-once.

Change-Id: Ibb29934224c4eedfff926dc72c3b6342c1861ac9
2014-09-09 17:27:32 +04:00
Andrew Hsieh 360b851034 Change mips64 default to mips64r6 from mips64r2
Also add back mips flags previously can't be handled by clang

See aosp/build
  13066a8d4c
  10326b3d7f

Change-Id: Iedc8dadd24f72fbd9c5589eec34677c1827290f3
2014-09-04 19:01:22 -07:00
Ying Wang 180b22590d am 729c9ff5: am 7754e0ce: Merge "[MIPS64] Modify the default MIPS64 build to MIPS64R6."
* commit '729c9ff5ec2085461027a5174d053e77b8c9a100':
  [MIPS64] Modify the default MIPS64 build to MIPS64R6.
2014-09-03 19:59:17 +00:00
Raghu Gandham 10326b3d7f [MIPS64] Modify the default MIPS64 build to MIPS64R6.
Change-Id: I797e4c2e5b69c6991545c26886b5b25e6f8c2a67
2014-09-02 16:30:00 -07:00
Ying Wang 7e5b951e4b am 33f14e60: am 7852b80c: Merge "Add missing flags to x86 (both 32- and 64-bit) arch variants. Delete x86_64-atom.mk as we don\'t support 64-bit on old Atom."
* commit '33f14e60729443b8c3958ea4246c914fc18891f9':
  Add missing flags to x86 (both 32- and 64-bit) arch variants. Delete x86_64-atom.mk as we don't support 64-bit on old Atom.
2014-09-01 18:10:33 +00:00
Ying Wang 7852b80c05 Merge "Add missing flags to x86 (both 32- and 64-bit) arch variants. Delete x86_64-atom.mk as we don't support 64-bit on old Atom." 2014-09-01 17:47:55 +00:00
Dehao Chen 19aa0acbf4 am 2d83365c: Merge "Add TARGET_FDO_LDFLAGS to make sure -lgcc is always linked after -lgcov." into lmp-dev
* commit '2d83365c9d852874bee790e2047178959933133e':
  Add TARGET_FDO_LDFLAGS to make sure -lgcc is always linked after -lgcov.
2014-08-21 17:52:54 +00:00
Elliott Hughes 5ba5283aee am 9f6ae4ba: am d61f0ffd: Merge "HAVE_FUTEX is unused."
* commit '9f6ae4ba5379df08d3bd6f60878718598bfa76d7':
  HAVE_FUTEX is unused.
2014-08-21 05:21:37 +00:00
Elliott Hughes 8f36565bc9 am 242f0540: am a9ec8350: Merge "Remove HAVE_ANDROID_PTHREAD_SETNAME_NP."
* commit '242f054094c5cafcd1d92c7ab1ed7b4459aedbf3':
  Remove HAVE_ANDROID_PTHREAD_SETNAME_NP.
2014-08-21 04:35:00 +00:00
Elliott Hughes d397f4ec9f am 3a2fc08d: am 10f5a420: Merge "HAVE_OPEN_MEMSTREAM is no longer used."
* commit '3a2fc08ddcbc9ddec1fa65722515501a406afbf4':
  HAVE_OPEN_MEMSTREAM is no longer used.
2014-08-21 04:34:58 +00:00
Elliott Hughes 0fa6a4063d HAVE_FUTEX is unused.
I missed this the other day.

Change-Id: Ifb6912de3aae6d03593ffb08d8d9555dc9e53f4d
2014-08-20 21:26:19 -07:00
Elliott Hughes a9ec8350b0 Merge "Remove HAVE_ANDROID_PTHREAD_SETNAME_NP." 2014-08-21 04:20:34 +00:00
Elliott Hughes 70f3f33c2d Remove HAVE_ANDROID_PTHREAD_SETNAME_NP.
https://android-review.googlesource.com/104945 removes the only user.

Change-Id: I303d941036ab889ab747f26561506a5e1c93f0c2
2014-08-20 20:21:29 -07:00
Dehao Chen f4294cd816 Add TARGET_FDO_LDFLAGS to make sure -lgcc is always linked after -lgcov.
Change-Id: I33a94abe58391a8564ada14417b0158ddd7ed2d6
2014-08-20 16:48:17 -07:00
Elliott Hughes 31c667ed3a HAVE_OPEN_MEMSTREAM is no longer used.
Bug: 17164505
Change-Id: I8055e52019d8cdea957d0fb8cbd46ca9b52564e1
2014-08-20 16:17:28 -07:00
Dehao Chen dcb92358c8 am 67ce4110: Merge "Check existance of profile directory for specific device." into lmp-dev
* commit '67ce41105eac775f90b129a295489a2ae3265cd1':
  Check existance of profile directory for specific device.
2014-08-18 23:12:25 +00:00
Elliott Hughes 1653580011 am ccf7c39d: am 36ba1db4: Merge "Remove unused entries from AndroidConfig.h."
* commit 'ccf7c39d628ca5a2070c8f7972178156460d6125':
  Remove unused entries from AndroidConfig.h.
2014-08-18 19:52:55 +00:00
Elliott Hughes 9b691ad231 am e70f4ed1: am f8d88579: Merge "Remove HAVE_GETTID."
* commit 'e70f4ed1d1bd558e04ab7ae181e7197c4e46e1b0':
  Remove HAVE_GETTID.
2014-08-18 19:34:51 +00:00
Elliott Hughes 032ac32bdb Remove unused entries from AndroidConfig.h.
We should probably try to remove these files completely, but this at
least takes care of the stuff that's completely obsolete.

Change-Id: Ic71b7b491c119963068294e258dc6afe5a45b40d
2014-08-18 12:18:59 -07:00
Elliott Hughes 1ac1401a06 Remove HAVE_GETTID.
Bug: 17048545
Change-Id: Ib5b72ecb451a26cb393147a44601566400ca1dd6
2014-08-18 10:49:12 -07:00
Dehao Chen 4e8f2ea6e8 Check existance of profile directory for specific device.
Change-Id: I149c257e98c8483b79f2afc1e5b871731f6f6519
2014-08-18 09:43:42 -07:00
Dan Albert 04cf315970 Inhibit implicit -Bsymolic in -shared.
Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
(cherry picked from commit b6bb71b85d)
2014-08-08 08:15:19 -07:00
Dan Albert 908ab54fda Fix uses of -fPIC and -fPIE.
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
(cherry picked from commit 4803ce2696)
2014-08-08 08:15:14 -07:00
Ying Wang 5a5d443f15 am 8ac188ff: am 6dbbb159: Merge "Consistent use of USE_MINGW"
* commit '8ac188ff0e739ea75ea02166c54428245200f088':
  Consistent use of USE_MINGW
2014-08-08 03:26:07 +00:00
Dan Albert 9d6aa51a0f am e99d8947: am cbc742a1: Merge "Inhibit implicit -Bsymolic in -shared."
* commit 'e99d8947c09731d71db7e95a280cf81f51f4049a':
  Inhibit implicit -Bsymolic in -shared.
2014-08-08 00:23:56 +00:00
Dan Albert d423e5fbdb am 897cd3d4: am afae9fd8: Merge "Fix uses of -fPIC and -fPIE."
* commit '897cd3d494272b8a6a12f0fb6d02bfe7426a309c':
  Fix uses of -fPIC and -fPIE.
2014-08-08 00:23:55 +00:00
Ying Wang 594a10ae77 Consistent use of USE_MINGW
Change-Id: I05e212e5a99639d0196006b9c2ec35072c54f399
2014-08-07 20:08:04 -07:00
Dan Albert 4803ce2696 Fix uses of -fPIC and -fPIE.
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
2014-08-07 10:20:58 -07:00
Dan Albert b6bb71b85d Inhibit implicit -Bsymolic in -shared.
Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
2014-08-07 15:43:16 -07:00
Dehao Chen 60a27e8d35 am f15ad97a: Merge "Change profile use path to the newly created project." into lmp-dev
* commit 'f15ad97a0737ad42f663e1ca1702f6cf1831e532':
  Change profile use path to the newly created project.
2014-08-06 03:13:54 +00:00
Dehao Chen da26f200bd Change profile use path to the newly created project.
Change-Id: I3221a3b18e16d6a50cbc561c9cae1d1ab3999090
2014-08-05 15:32:41 -07:00
Duane Sand 02f285208c [MIPSR6] Add mips64r6 and mips32r6 targets
Add mips64r6 target and corresponding mips32r6 target.
Defaults remain as mips64r2 and mips32r2.

Apply -FP64A codegen subsetting to mips32r6 only.
Access FR=0 odd-numbered 32-bit float regs only via
double-prec even-numbered regs, not by single-prec ops.

(cherry picked from commit 6bab974cdc)

Change-Id: I447337ce56c15e86cec505d68a6b45294fc3ba77
2014-08-05 12:39:28 -07:00
Duane Sand 1d04a53ba3 [MIPS64] Enable mips64 clang
(cherry picked from commit 41ca444637)

Change-Id: I0b141c58c88fe86e3a59844f53acc9a0e0a5271c
2014-08-05 12:38:31 -07:00
Duane Sand 3c4fcd8451 [MIPS] Unite mipsel and mips64el 4.9 gcc toolchains
Use 4.9 mips64el toolchain for both 64- and 32-bit builds.
Tell ld when 32-bit links are required.
Override 4.9's changed defaults for mips floating point
register use, to get same assembler rules as 4.8 and earlier.

Also: drop unused  soft-fp build targets, cleanout redundant
compiler options, and remove extraneous Android.mk file.

(cherry picked from commit 6670e24aed)

Change-Id: I34d2f8fc6113c9d1670e3acff1aff48634b9fe1b
2014-08-05 12:28:44 -07:00
Varvara Rainchik 2d645ab323 Add missing flags to x86 (both 32- and 64-bit) arch variants.
Delete x86_64-atom.mk as we don't support 64-bit on old Atom.

Change-Id: I0b9ab61cd9b840f32c30059cb3ba9704c733c42a
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-08-04 18:46:14 +04:00
Ying Wang fe2f5fe5cf am e0383397: am e1a77930: Merge "Update host linux toolchain to gcc 4.8"
* commit 'e0383397a2be0be120da20cebd77e3f1f811a6b0':
  Update host linux toolchain to gcc 4.8
2014-07-31 18:04:20 +00:00
Dehao Chen 48065cb10e am e43c96c3: Merge "Update the FDO support:" into lmp-dev
* commit 'e43c96c332890a4641b9310aad9b4dddd80fabc0':
  Update the FDO support:
2014-07-31 16:56:10 +00:00
Elliott Hughes 1a6971b2f5 am c378352d: am d23798bf: Merge "[MIPSR6] Add mips64r6 and mips32r6 targets"
* commit 'c378352de8a07a7b8dabd444d130710ce1cb3eed':
  [MIPSR6] Add mips64r6 and mips32r6 targets
2014-07-30 23:30:07 +00:00
Elliott Hughes 81379e6590 am e4d54f31: am 0b3c42cb: Merge "[MIPS] Unite mipsel and mips64el 4.9 gcc toolchains"
* commit 'e4d54f317df641faf216e4000fbc3d091d3c1abc':
  [MIPS] Unite mipsel and mips64el 4.9 gcc toolchains
2014-07-30 23:30:05 +00:00
Ying Wang 1dd586eea2 am 3f191617: am 7a739f35: Merge "Use hermetic host toolchains."
* commit '3f1916174823fe6fd034ba07c762fae9a0143e44':
  Use hermetic host toolchains.
2014-07-30 16:22:08 +00:00
Ying Wang b53efd68b5 am 18c20aae: am aea1cae4: Merge "Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang."""
* commit '18c20aae44b5736b673c8776202e1e76b6bd81cd':
  Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""
2014-07-30 16:22:00 +00:00
Elliott Hughes d23798bfdc Merge "[MIPSR6] Add mips64r6 and mips32r6 targets" 2014-07-30 11:26:00 +00:00
Ying Wang 7a739f3585 Merge "Use hermetic host toolchains." 2014-07-29 21:36:05 +00:00
Ying Wang 1b0fc43557 Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""
This reverts commit a4f84fdfed.
Added "export CCACHE_CPP2 := true" to work around ccache bug with clang.
See:
http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html

Change-Id: I2b1fa8fd59c3a113c4028a92a1d16018133c9792
2014-07-29 18:05:27 -07:00
Dehao Chen e43c96c332 Merge "Update the FDO support:" into lmp-dev 2014-07-29 21:36:00 +00:00
Dehao Chen 5f5c48f0f1 Update the FDO support:
* Explicitly check BUILD_FDO_INSTRUMENT and BUILD_FDO_OPTIMIZE with true
* Remove unnecessary target_libgcov
* Update the profile collection path on device so that most app can have write access

Change-Id: I5c1915a12ea37b2cb3c76a27e7104e47ad636928
2014-07-30 16:54:55 -07:00
Ying Wang b169fb7822 Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""
This reverts commit a4f84fdfed.
Added "export CCACHE_CPP2 := true" to work around ccache bug with clang.
See:
http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html

Change-Id: I2b1fa8fd59c3a113c4028a92a1d16018133c9792
2014-07-30 10:14:37 -07:00
David 'Digit' Turner 44ee3419e7 Update host linux toolchain to gcc 4.8
This patch ensures the build system uses the prebuilt gcc-4.8 toolchain
when building host Linux binaries, instead of the gcc-4.6 one.

Change-Id: I7b449650714ba4314a780827e0243f2af40ec82c
2014-07-31 19:51:40 +02:00
Ying Wang 5e2ebcbe26 Use hermetic host toolchains.
Change-Id: I6bb72b5728d1075be9645f8473dcf3db759fa66a
2014-07-28 15:14:51 -07:00
Przemyslaw Szczepaniak 28665b5850 am ac6a9195: Switch NDK arm64 libraries to 4.9.
* commit 'ac6a9195cadc83a50cea376fc61268db6fc2f129':
  Switch NDK arm64 libraries to 4.9.
2014-07-25 17:27:29 +00:00
Przemyslaw Szczepaniak ac6a9195ca Switch NDK arm64 libraries to 4.9.
Change-Id: Iffc30e34b798896d9259ca1dfc3ff2d21683d6a4
(cherry picked from commit 5895dd13a7)
2014-07-25 13:44:34 +00:00
Duane Sand 6bab974cdc [MIPSR6] Add mips64r6 and mips32r6 targets
Add mips64r6 target and corresponding mips32r6 target.
Defaults remain as mips64r2 and mips32r2.

Apply -FP64A codegen subsetting to mips32r6 only.
Access FR=0 odd-numbered 32-bit float regs only via
double-prec even-numbered regs, not by single-prec ops.

Change-Id: I1740a6c658304b6c41242be58d68753e6f171658
2014-07-24 11:19:21 -07:00
Stephen Hines e9bf1bdac6 Merge "Default to "prescott" as our baseline i686 host build architecture." into lmp-dev 2014-07-24 22:43:15 +00:00
Stephen Hines 76bd60b7da Default to "prescott" as our baseline i686 host build architecture.
Bug: 16408818

Change-Id: I41760605bf9f4589859afd20cc96ccbedb6fe82c
2014-07-25 00:42:14 -07:00
Ying Wang 5de8ebc8f7 am 5d23800f: am 1bb9adb8: Merge "[MIPS64] Enable mips64 clang"
* commit '5d23800f2b61c03a97395815e94d2aa44eea8577':
  [MIPS64] Enable mips64 clang
2014-07-24 01:49:26 +00:00
Ying Wang 8478ab00d0 am ebe0bacc: am 6837ac67: Merge "Refactor FDO support code to ensure arm64 can also be built with FDO."
* commit 'ebe0bacc8063f74da5bacb80c5e0b97a00a7351c':
  Refactor FDO support code to ensure arm64 can also be built with FDO.
2014-07-23 23:41:18 +00:00
Duane Sand 6670e24aed [MIPS] Unite mipsel and mips64el 4.9 gcc toolchains
Use 4.9 mips64el toolchain for both 64- and 32-bit builds.
Tell ld when 32-bit links are required.
Override 4.9's changed defaults for mips floating point
register use, to get same assembler rules as 4.8 and earlier.

Also: drop unused  soft-fp build targets, cleanout redundant
compiler options, and remove extraneous Android.mk file.

Change-Id: I86f1075266349edb2b08a7709b9f5472d8cfda32
2014-07-23 14:16:00 -07:00
Duane Sand 41ca444637 [MIPS64] Enable mips64 clang
Change-Id: I737f40ff1d4c71c21bea5159d1b0acee89fe32a2
2014-07-23 14:10:39 -07:00
Ying Wang 1bb9adb880 Merge "[MIPS64] Enable mips64 clang" 2014-07-23 18:51:55 +00:00
Dehao Chen 7092c79a14 Refactor FDO support code to ensure arm64 can also be built with FDO.
Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
2014-07-23 16:34:07 -07:00
Dehao Chen 25671e15cc Refactor FDO support code to ensure arm64 can also be built with FDO.
Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
2014-07-23 16:23:46 -07:00
Elliott Hughes 0b3c42cbc8 Merge "[MIPS] Unite mipsel and mips64el 4.9 gcc toolchains" 2014-07-23 17:53:27 +00:00
Stephen Hines fee5160c11 am 786c565e: am 38470c3f: Merge "Default to "prescott" as our baseline i686 host build architecture."
* commit '786c565ea440de736af66b1b36ee72b6287bc1cc':
  Default to "prescott" as our baseline i686 host build architecture.
2014-07-22 20:53:44 +00:00
Stephen Hines 1b50a12a81 Default to "prescott" as our baseline i686 host build architecture.
Bug: 16408818

Change-Id: I41760605bf9f4589859afd20cc96ccbedb6fe82c
2014-07-18 17:34:43 -07:00
Ed Heyl f6771f631b reconcile aosp (8689b90bcf) after branching. Please do not merge.
Change-Id: I0e4c55cc5a04d4593c3cd200c08c48d18c08a161
2014-07-14 23:32:28 -07:00
Nick Kralevich d07a58bc6d am 8689b90b: am 6ff84956: Merge "Fix PIC default to be -fPIC"
* commit '8689b90bcfdc92c94475901935b5f6efae0c9abc':
  Fix PIC default to be -fPIC
2014-07-14 18:17:18 +00:00
Ying Wang 98eb90f142 am ce40d5f9: am bc7501e1: Merge "More consistent use of 64-bit build variable."
* commit 'ce40d5f99e9c0658aab9539bf8afa253dfd985e4':
  More consistent use of 64-bit build variable.
2014-07-14 17:48:21 +00:00
Dan Albert 202c962b05 am 8f73aeea: am 183f90f4: am 3ffcf184: Merge "Remove -Bsymbolic from builds."
* commit '8f73aeea87f96d715ca2f39a35fd73986feecceb':
  Remove -Bsymbolic from builds.
2014-07-11 17:29:00 +00:00
Nick Kralevich 6ff849568c Merge "Fix PIC default to be -fPIC" 2014-07-10 00:35:03 +00:00
Ying Wang 26dbc3e6e4 am d3b5d574: am ce40d5f9: am bc7501e1: Merge "More consistent use of 64-bit build variable."
* commit 'd3b5d574defd565d6e810cbb86e3943837f94065':
  More consistent use of 64-bit build variable.
2014-07-09 15:07:12 +00:00
Ying Wang d3b5d574de am ce40d5f9: am bc7501e1: Merge "More consistent use of 64-bit build variable."
* commit 'ce40d5f99e9c0658aab9539bf8afa253dfd985e4':
  More consistent use of 64-bit build variable.
2014-07-09 12:36:30 +00:00
Ying Wang 4b1c95d8d2 More consistent use of 64-bit build variable.
Set up TARGET_IS_64_BIT and HOST_IS_64_BIT early so we don't need 2
mechanisms to judge if it's 64-bit build;
Remove the unnecessary 32-bit host variables.

Change-Id: I08d6d4d9ea70f91135fe2ee05463fb9a0d1cee42
2014-07-08 18:04:17 -07:00
Dan Albert 8f73aeea87 am 183f90f4: am 3ffcf184: Merge "Remove -Bsymbolic from builds."
* commit '183f90f40ce9e0fafa563dfaf1fb4450cb98168c':
  Remove -Bsymbolic from builds.
2014-07-08 18:55:55 +00:00
Dan Albert 3ffcf184bc Merge "Remove -Bsymbolic from builds." 2014-07-08 18:09:01 +00:00
Dan Albert 9d8d20a1e1 am 8f73aeea: am 183f90f4: am 3ffcf184: Merge "Remove -Bsymbolic from builds."
* commit '8f73aeea87f96d715ca2f39a35fd73986feecceb':
  Remove -Bsymbolic from builds.
2014-07-08 18:59:48 +00:00
Ying Wang e68ec71903 [DO NOT MERGE] Workaround to fix klp-modular-dev-plus-aosp build.
Change-Id: I8042b045f20b870de84ea7c4c060c3cbe1cdfe69
2014-07-02 14:26:49 -07:00
Pavel Chupin 3a8d2bf392 Fix PIC default to be -fPIC
-fPIC is more restrictive than -fPIE, but when "-fPIC -fPIE" used together
the latter overrides. It may lead to issues when building DSO where
-fPIC and not -fPIE is required.

For executables -fPIE -pie shoudld be added and it's fine to override
-fPIC as it is done now.

The reason why we don't have these issues so far is probably related to
-Bsymbolic added by default. But any attempt to remove it reveals these
problems:
https://android-review.googlesource.com/#/c/98061/

Change-Id: If0f10628b7cc41e564221a7a37298f7d65f859a8
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-07-02 13:52:21 +04:00
Elliott Hughes 0635498086 am 3a2f6ecf: am 491871aa: am 4b7ba417: Merge "Add -Wl,--fatal-warnings to x86_64."
* commit '3a2f6ecf3f7af6819b601645334d4c563401d37a':
  Add -Wl,--fatal-warnings to x86_64.
2014-06-30 23:04:35 +00:00
Elliott Hughes 3beb51692e Add -Wl,--fatal-warnings to x86_64.
Bug: 11358761
Change-Id: I0c86a2ce3f95e89cc6c6eed65f3595922a90f45f
2014-06-30 14:52:30 -07:00
Elliott Hughes 7ec725d41f resolved conflicts for merge of 53caaaf6 to master
Change-Id: I20d265364b09c64d3637e57f500e934ee2310887
2014-06-16 15:34:25 -07:00
Elliott Hughes bfe62fc30c Remove unused hosts.
Nobody is using freebsd-x86 or linux-ppc.

Change-Id: I4e19fd32d92b39ad574001e7046e37ccd2300a2e
2014-06-16 14:48:59 -07:00
Dan Albert 50031de36e Remove -Bsymbolic from builds.
This is causing issues when tools like asan try to wrap calls like
malloc. See the referenced bug for more details.

Bug: 15432753
Change-Id: I15e8eab5b773afd02dc14c78500cf8246a617718
2014-06-13 10:24:12 -07:00
Elliott Hughes fd40d060d9 am 7f880d15: am 553c289a: am 624220c1: Merge "Remove useless stuff from "AndroidConfig.h"."
* commit '7f880d15da4c73889833087161e4c05b55ef07fe':
  Remove useless stuff from "AndroidConfig.h".
2014-06-13 00:48:36 +00:00
Elliott Hughes e82d33d997 Remove useless stuff from "AndroidConfig.h".
The futex wrappers and memcmp16 are no longer available to anyone.
No one was checking for the existence of the SA_NOCLDWAIT constant,
and even if they wanted to, they could just check directly.

Change-Id: If8ac6c2617b76b23a2450f58fc03453f7f82a61f
2014-06-12 15:36:52 -07:00
Ying Wang dd4db3058a am 56ec31cf: am 3fe9a277: am d0f0918b: Merge "Reenable ccache."
* commit '56ec31cfca1ed5f9d833d73c327b2799601cd5a4':
  Reenable ccache.
2014-06-06 18:43:44 +00:00
Ying Wang 67ed25f3a6 Reenable ccache.
The previous commit 994c84fb virtually disabled ccache, due to the
deferred evaluation of CC_WRAPPER/CXX_WRAPPER.

Change-Id: Ie0d70a23a55190bd9b24b72edc9158b6976e1d5d
2014-06-06 11:18:04 -07:00
Primiano Tucci 454de52c96 Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.
This is to make it possible to wrap the compiler invocations with
custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER,
CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without
having to know in advance the path to the compiler)

(cherry-picked from AOSP 994c84fb40)

Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
2014-06-03 12:24:22 +01:00
Primiano Tucci 994c84fb40 Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.
This is to make it possible to wrap the compiler invocations with
custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER,
CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without
having to know in advance the path to the compiler)

Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
2014-06-02 20:12:57 +01:00
Stephen Hines 88bd5edaa4 am 15d49c3b: am 85e0dce5: am a8b65126: Merge "Add -shared to clang LDFLAGS."
* commit '15d49c3b30d320422d0209c8726eb0c5cec92d41':
  Add -shared to clang LDFLAGS.
2014-05-30 23:15:43 +00:00
Nick Kralevich 43c36c8201 am ee7493cc: am 329988c2: am a42e0f50: Merge "arm64: restore relro/now"
* commit 'ee7493ccb91256e61414e8e0bad8d7173cb5d22e':
  arm64: restore relro/now
2014-05-30 23:02:54 +00:00
Stephen Hines a8b65126ca Merge "Add -shared to clang LDFLAGS." 2014-05-30 22:59:48 +00:00
Nick Kralevich 45545761d2 arm64: restore relro/now
The bug which required this option has been fixed.

Bug: 11434996
Change-Id: I7ab7e2e8ba7b993281902832d01b3ee3ba9e06ef
2014-05-30 15:46:40 -07:00
Andrew Hsieh 4e5c08d420 am fb0a19d6: am dc41aa32: am 5c2c70de: Merge "Add -latomic to all target builds"
* commit 'fb0a19d603b0f2c00ec3491a39d37103496cbca9':
  Add -latomic to all target builds
2014-05-30 11:50:52 +00:00
Tim Murray 0f9276d4ba Add -shared to clang LDFLAGS.
TOT clang doesn't do the right thing with regards to -pie without this.

Change-Id: Ic14cfb25d96359eb18899c09ebaf1d311e937d01
2014-05-29 17:54:07 -07:00
Andrew Hsieh 4c952d72b7 Add -latomic to all target builds
Projects using stdatomic.h needs libatomic.a in case compiler can't
expand all __atomic* intrinsics. eg, __atomic_is_lock_free in
armeabi/mips.

Adding libatomic.a globally makes more sense than adding
"LOCAL_LDLIB += -latomic " in each project including <stdatomic.h>.
Projects don't need atomic operations won't get redundant DT_NEEDED
entry because libatomic.a is not a shared library.

Change-Id: I81dbf524544c848e667e18ab5eeabff75b5063ef
2014-05-29 11:40:46 -07:00
Dan Albert 49df673669 am cd74f307: am a5b0b130: am 3805f619: Merge "Revert "Fix for duplicate names in whole static libs""
* commit 'cd74f3073c4d0fa7d566705b0eb38c635c1c9344':
  Revert "Fix for duplicate names in whole static libs"
2014-05-27 19:50:55 +00:00
Dan Albert 3805f61915 Merge "Revert "Fix for duplicate names in whole static libs"" 2014-05-27 19:41:46 +00:00
Dan Albert 3c12b5c02b Revert "Fix for duplicate names in whole static libs"
This reverts commit 0e5ce8be34.

Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
2014-05-27 19:30:36 +00:00
Dan Albert d8303d9021 am e6918b55: am 212772f6: am 31101623: Merge "Fix for duplicate names in whole static libs"
* commit 'e6918b559d911fd58dc03b60e4b866b23c935f72':
  Fix for duplicate names in whole static libs
2014-05-27 18:33:19 +00:00
Dan Albert 31101623b3 Merge "Fix for duplicate names in whole static libs" 2014-05-27 18:23:26 +00:00
Ying Wang bccdab8737 am 65475feb: am 29267309: am 294301bb: Merge "Exclude libstdc++ and libgcc if libc++ is requested."
* commit '65475feb5999068096b287faac9199d1c8e18340':
  Exclude libstdc++ and libgcc if libc++ is requested.
2014-05-27 17:59:11 +00:00
Dan Albert 0e5ce8be34 Fix for duplicate names in whole static libs
_extract-and-include-single-(host|target)-whole-static-lib was written such that
only the first file of a given name would be extracted and included into the new
library. This patch iterates over each identically named archive member,
extracts them individually, and adds them to the new archive.

Bug: 15110069
Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
2014-05-23 18:23:47 -07:00
Ying Wang d90de32951 Exclude libstdc++ and libgcc if libc++ is requested.
Bug: 15174002
Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
2014-05-23 16:42:37 -07:00
Ben Cheng 35dcb507f7 am dfec8f89: am 50e99111: am 54bea362: Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #4)"
* commit 'dfec8f8915ea5870c5e43549a1230d33585b6d89':
  Use aarch64-linux-android-4.9 for arm64 build (attempt #4)
2014-05-20 18:16:12 +00:00
Ben Cheng d033121431 Use aarch64-linux-android-4.9 for arm64 build (attempt #4)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*

GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Source code has been sync'ed against the 2014-05-14 snapshot which
contains many important fixes (devirtualization, codegen, ...).

Change-Id: I43229360ad0132193d5208cb0d1acba55084853c
2014-05-19 16:22:21 -07:00
Ying Wang f1d722ba40 am fb71a59e: am 11278626: am 3c8089ce: Merge "Fix the missing 2nd arch prefix."
* commit 'fb71a59ef79d22c1acaf4a57980bc932886821cb':
  Fix the missing 2nd arch prefix.
2014-05-16 23:33:45 +00:00
Ying Wang ef773d22ca Fix the missing 2nd arch prefix.
Bug: 13751317
Change-Id: Ie5a323a0a89245576dbc91271d3178574942627d
2014-05-16 16:22:32 -07:00
Ying Wang 8200231ae1 am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"
* commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553':
  Support host multilib build
2014-05-15 01:09:49 +00:00
Ying Wang 6feb6d5607 Support host multilib build
This change basically ported our target multilib to the host side.
It supports 2 host build modes: x86 and x86_64 multilib build.
For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
multilib build. Later we'll default to x86_64 build and have a flag
to force 32-bit only build, which may be needed by SDK build.

In host module definition, like in target ones, you can use the
following
LOCAL variables to set up multilib configuration:
LOCAL_MULTILIB: can be "both", "first", "32" or "64".
It also supports the same set of arch or 32-vs-64 specific LOCAL
variables.
By default, it builds only for the first arch.

To keep path compatibility, in x86_64 build files are still output to
out/host/linux-x86; Both 32-bit and 64-bit executables are in
out/host/linux-86/bin;
In x86_64 build 32-bit shared libraries are installed to
out/host/linux-x86/lib32
and 64-bit shared libraries are installed to out/host/linux-x86/lib;
32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
object files
are output to out/host/linux-x86/obj.

Bug: 13751317
Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
2014-05-14 16:55:04 -07:00
Andrew Hsieh 65c5313605 am f6566fd1: am e7b99aec: am fb1f38ec: Merge "Define __USE_MINGW_ANSI_STDIO for windows build"
* commit 'f6566fd1f96275f6daec46ced8ceba25c87aedaa':
  Define __USE_MINGW_ANSI_STDIO for windows build
2014-05-13 01:02:56 +00:00
Andrew Hsieh fb1f38ecba Merge "Define __USE_MINGW_ANSI_STDIO for windows build" 2014-05-13 00:53:45 +00:00
Andrew Hsieh 9604c0680f am a01cb054: am c581e10a: am eca0043b: Merge "Disable canonical prefixes of system headers"
* commit 'a01cb05450c6435c9cdca58534ed00eafb07f6eb':
  Disable canonical prefixes of system headers
2014-05-09 17:06:54 +00:00
Andrew Hsieh eca0043b86 Merge "Disable canonical prefixes of system headers" 2014-05-09 16:55:00 +00:00
Ying Wang 38e49504ef am 96e487b2: am 98892291: am 3afc688a: Merge "javac: rename common_flags to avoid conflictions"
* commit '96e487b262c2d5d7c02d49e29e71895588e15549':
  javac: rename common_flags to avoid conflictions
2014-05-09 16:54:38 +00:00
Andrew Hsieh 48f239c94f Disable canonical prefixes of system headers
GCC know a few pre-defined paths (relative to its location) to
search for headers, libraries, program, etc.  By default GCC prefixes
its own path(argv[0]) and calls realpath() which result in absolute
path with all symlink, . and .. removed.

It's usually good to have canonicalised paths, but absolute paths
in *.d file can cause unnecessary relinking when stale entries
in ccache cache hit

Add -no-canonical-prefixes (gcc>=4.6) and
-fno-canonical-system-headers (gcc>4.6) to disable realpath() on
prefixed paths

Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
2014-05-09 22:12:49 +08:00
Andrew Hsieh d322f2a6ef Define __USE_MINGW_ANSI_STDIO for windows build
Some printf/scanf functions in Windows aren't C99 compatible.
Define __USE_MINGW_ANSI_STDIO for mingw compiler to use it's own set of
replacement libraries which are more C99-like.

Change-Id: I51dfa582971ec0487409067e8bb7fe3a44577b93
2014-05-09 11:45:13 +08:00
Nick Reuter c43ab6edc2 javac: rename common_flags to avoid conflictions
* Currently the flag conflicts with one seen in hardware/qcom
   rename to avoid issues.

Change-Id: I876fcd6a254f349dc5260509bcddb0367a7d49d8
Signed-off-by: Nick Reuter <nreuter85@gmail.com>
2014-05-08 22:15:35 -05:00
Ying Wang cd88262744 am af93afce: am 0a61a603: am 3b15cdb8: Merge "Apply LOCAL_LDLIBS to target build rules too."
* commit 'af93afcec91d31d1f5afb88b83413cdc7c019e70':
  Apply LOCAL_LDLIBS to target build rules too.
2014-05-08 18:31:14 +00:00
Ying Wang de36cd72e8 Apply LOCAL_LDLIBS to target build rules too.
Use LOCAL_LDLIBS to link against prebuilt libraries (such as NDK
libraries).
Previously LOCAL_LDLIBS only applies to host modules and the behaviour
confuses users.

Change-Id: I515546d7b59ef54e8ef09050eb58ec63534c9291
2014-05-07 11:33:19 -07:00
Ying Wang d8b39956f8 am 9c7393b8: am e9dd544d: am 889a93a4: Merge "add silvermont x86 architecture"
* commit '9c7393b87aed5ae6acd97529b05ce26f80627259':
  add silvermont x86 architecture
2014-05-06 16:28:00 +00:00
Andrew Boie 155fc8b5fe add silvermont x86 architecture
This is used for Baytrail targets.

Change-Id: I5a2fa6dbb8217a326ee09f5ea434885718ab3f0c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
2014-04-30 01:23:25 +08:00
Elliott Hughes 52db54cc8e am bb21bfb0: am 7cad688e: am 847fd031: Merge "Leave \'linux\' defined on x86/x86-64, like arm."
* commit 'bb21bfb090c29be17473b318a0d54ec5bcc5243c':
  Leave 'linux' defined on x86/x86-64, like arm.
2014-04-24 16:32:55 +00:00
Elliott Hughes 1d753dda0a am 439f279d: am 62911d47: am 1076c568: Merge "Leave \'linux\' defined on mips/mips64, like arm."
* commit '439f279d0cd0a3c9118d7fcd688210bf614d69a9':
  Leave 'linux' defined on mips/mips64, like arm.
2014-04-24 16:29:25 +00:00
Elliott Hughes 847fd0311f Merge "Leave 'linux' defined on x86/x86-64, like arm." 2014-04-24 16:19:17 +00:00
Andrew Hsieh 582e5ecb75 am aabe27cc: am 9754735f: am db55f602: Merge "Switch to new host prebuilt x86_64-linux-glibc2.11-4.6"
* commit 'aabe27ccfd7f372d75426181eeeede4a7f908179':
  Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
2014-04-24 15:43:17 +00:00
Elliott Hughes 1acd8b0552 Leave 'linux' defined on mips/mips64, like arm.
Change-Id: Idf1e781c34d45d1e20b7e5542d79201ae93668fe
2014-04-23 23:24:36 -07:00
Elliott Hughes 2c8e95528c Leave 'linux' defined on x86/x86-64, like arm.
Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
2014-04-23 23:09:30 -07:00
Andrew Hsieh dfde360b2c Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
Change-Id: I763398d523bf4851a13722f72b12ec69d7a4bb4f
2014-04-23 14:47:00 -07:00
Ying Wang 6e048afb4b am ad60c86e: am f1a3d5e8: am 871bc703: Merge "Update build system for better Clang behavior on Mac."
* commit 'ad60c86eda1a975d6966f414b4a7065d97e7505b':
  Update build system for better Clang behavior on Mac.
2014-04-23 00:23:22 +00:00
Tim Murray d318ba66f9 Update build system for better Clang behavior on Mac.
Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
2014-04-22 09:26:22 -07:00
Ben Cheng 1d9c67ddc5 am 1bb663a8: am 26232093: am 5c72b726: Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)""
* commit '1bb663a8baf25afaab22fbe92130a302fb32814d':
  Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
2014-04-18 21:18:37 +00:00
Ben Cheng e76fee59fc Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
This reverts commit 084a7f8387.

GCC 4.9 still has stability issues (b/14160872)

Change-Id: I4d40829dbbfac0e7b6cd7eaf9924744bc5714271
2014-04-18 18:34:35 +00:00
Ben Cheng 5de2b7ffe0 am ea9552eb: am dc82c5a8: am 63030fe6: Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
* commit 'ea9552eb2cf68c96078f2128b95490c08a9ec81b':
  Use aarch64-linux-android-4.9 for arm64 build (attempt #3)
2014-04-17 19:36:49 +00:00
Ben Cheng 084a7f8387 Use aarch64-linux-android-4.9 for arm64 build (attempt #3)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Change-Id: Ie0bf38357c0cf3d265d8b5dd3c2b8a8fd83b1de1
2014-04-16 12:18:14 -07:00
Andrew Hsieh d37bf4e995 am f93c7c70: am 041d4470: am 695d8f69: Merge "Add -Wl,-maarch64linux"
* commit 'f93c7c70247fb11dc99361c309bd6bd7b859e30e':
  Add -Wl,-maarch64linux
2014-04-15 23:37:09 +00:00
Narayan Kamath a1f8afa930 am d954c6b9: am 60b9496c: am 22261a3f: Merge ""desktop" linux has Posix clocks."
* commit 'd954c6b92024fbb183ea3acb7366a39765a6e3c0':
  "desktop" linux has Posix clocks.
2014-04-15 20:52:52 +00:00
Andrew Hsieh 50536c20af Add -Wl,-maarch64linux
The "-maarch64linux" switch is needed before aarch64-*4.8 is rebuilt with
backport of upstream patch, see https://android-review.googlesource.com/#/c/91099/

The existing ld.bfd is fine because it's configured to support
aarch64linux only.  ld.mcld (see https://android-review.googlesource.com/#/c/91047)
needs explicit emulation switch because it supports multiple targets

Change-Id: Idc1a491c5722ea9e26db917b667b1000bccc1f60
2014-04-15 11:54:06 -07:00
Narayan Kamath 22261a3f9b Merge ""desktop" linux has Posix clocks." 2014-04-15 10:58:52 +00:00
Ben Cheng bdcb4bcd7b am e921da9d: am bddce34c: am 065c4180: Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)""
* commit 'e921da9def56e6f70de3df18f0582a69826d9787':
  Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"
2014-04-11 23:47:51 +00:00
Ben Cheng 38fef38c40 Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"
This reverts commit 1ae9b213eb.
Sigh... new warnings found by 4.9 break checkbuild.

Change-Id: I46ad622fa9c8ac4fb1e15e29bb400634abc5914c
2014-04-11 23:36:25 +00:00
Ben Cheng 2b240a7bd2 am c9f9decd: am 4eea070c: am f702d6d1: Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"
* commit 'c9f9decdcaa6c3314c11edba0bf9703edf09615e':
  Use aarch64-linux-android-4.9 for arm64 build (attempt #2)
2014-04-11 22:44:05 +00:00
Ben Cheng 1ae9b213eb Use aarch64-linux-android-4.9 for arm64 build (attempt #2)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
 __cxa_throw_bad_array_new_length.

Change-Id: Ie647fc4c6b227d6bee792f04d5c2f02eb0099559
2014-04-11 12:22:56 -07:00
Ben Cheng 19b7c4d5c9 am e4d787bf: am 7e793040: am eec11d97: Merge "Decouple platform compiler and NDK library versioning."
* commit 'e4d787bfbbde83bc4b868ed804c94118c2ea0080':
  Decouple platform compiler and NDK library versioning.
2014-04-11 17:10:37 +00:00
Ben Cheng 4de6fa4069 Decouple platform compiler and NDK library versioning.
TARGET_GCC_VERSION: select compiler from prebuilts/gcc/...
TARGET_NDK_GCC_VERSION: select libraries from prebuilts/ndk/...

Change-Id: I4422a42cdc97aa92b40798014cba82c3c123bbd2
2014-04-10 22:46:26 -07:00
Ben Cheng 335c76d886 am c77ffa89: am add6c037: am 13eaf184: Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build.""
* commit 'c77ffa8923d95f8bd4639bf9e810b0c981481e54':
  Revert "Use aarch64-linux-android-4.9 for arm64 build."
2014-04-10 17:24:46 +00:00
Ben Cheng 13eaf184f6 Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build."" 2014-04-10 17:14:57 +00:00