The purpose of removing global inline options is to give
compiler the opportunity to do inline optimizations and inline
tunings for Android native codes.
By removing these global inline options now, the size of
almost all native libraries are reduced. And there is no
noticable performance degradation on webkit, gcstone and
skia benchmarks.
Change-Id: I31e71f51e4f29fa6286fddb89e9eab227581c7b3
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.
Note that nothing happens if the new toolchain is not in the
prebuilt tree.
Change-Id: I45c1f68e37e15a0032f885df1c5c0f297b3d8642
Merge commit '83f69eb5f905d47581bed141b7f5103362390339' into gingerbread-plus-aosp
* commit '83f69eb5f905d47581bed141b7f5103362390339':
Prepend ccache to CC/CXX if necessary.
In case TARGET_CC is assigned with HOST_CC (eg, simulator build),
ccache will be prepended twice before this CL.
Bug: 3069576
Change-Id: I2ee44faea3a2795cf389ad6f80e4066a02b43be9
Merge commit '2e1347c6a010c51c9ec80fd312465c1c23666ab2'
* commit '2e1347c6a010c51c9ec80fd312465c1c23666ab2':
Disable new longjmp in glibc 2.11 and later.
Merge commit 'fb644881b6083aa0d9d15e7aad8bfa5a429b1c37' into gingerbread-plus-aosp
* commit 'fb644881b6083aa0d9d15e7aad8bfa5a429b1c37':
Disable new longjmp in glibc 2.11 and later.
Merge commit 'f3a142b8d5b4db7299b706653f4fd2952f4e5d8c'
* commit 'f3a142b8d5b4db7299b706653f4fd2952f4e5d8c':
Link against Mac OSX 10.5 SDK if building on 10.6.
Merge commit '7eaa4dc2fbc3d7b3d8a0a2576a6fc14507e176a8' into gingerbread-plus-aosp
* commit '7eaa4dc2fbc3d7b3d8a0a2576a6fc14507e176a8':
Link against Mac OSX 10.5 SDK if building on 10.6.
androideabi target is already in upstream GCC. The arm-linux-
androideabi toolchain can be built directly from upstream GCC.
Switching from old special tailored arm-eabi toolchain to the new
arm-linux-androideabi toolchain make us closer to the opensource
community and friendly to all toolchain developers.
kernel still uses arm-eabi toolchain. So we add arm-eabi toolchain
path to PATH.
The arm-linux-androideabi-4.4.x toolchain is built with the same
source as the latest arm-eabi-4.4.3 toolchain except for the
target change patches.
Change-Id: I1e5f2fe2faeee08f913f37e0ba93e84d2654a8ff
between libc, libc_nomalloc and libgcc. When building with upcoming
arm-linux-androideabi toolchain, Symbol raise is needed by libgcc.a
and defined by libc.a or libc_nomalloc.a.which.
This patch groups libgc.a, libc_nomalloc.a and libgcc.a together, which is
a minimal group to solve this problem.
Change-Id: I27ed78c495dc53c1db7b302da8704f5e478ad893
Merge commit '4a1addef83d6458ba41b498648a36046a27a01b8'
* commit '4a1addef83d6458ba41b498648a36046a27a01b8':
Keep the crt start/end var name of sh consistent with other archs
Merge commit '90b1d3dcfece8eef53277cbcf0326deda9f16f09' into gingerbread-plus-aosp
* commit '90b1d3dcfece8eef53277cbcf0326deda9f16f09':
Keep the crt start/end var name of sh consistent with other archs
Merge commit 'b6a1c1802961f40fe4736e80402f849968cd2563' into gingerbread
* commit 'b6a1c1802961f40fe4736e80402f849968cd2563':
Keep the crt start/end var name of sh consistent with other archs
Merge commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b'
* commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b':
Support to build native libraries with prebuilt NDK
Merge commit 'f0f60cdd8f4f74b2480774887606afdebec8d891' into gingerbread-plus-aosp
* commit 'f0f60cdd8f4f74b2480774887606afdebec8d891':
Support to build native libraries with prebuilt NDK
Merge commit '87f500004acc7b68745bd939a473dd92e77b5c9c'
* commit '87f500004acc7b68745bd939a473dd92e77b5c9c':
Define __ANDROID__ for x86 to be on par with ARM build requirements
Merge commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5'
* commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5':
Refactor Stripper. Allow a stripper other than SOSLIM to be specified
Merge commit '5cd0870e6215ab8c2be01a8e7b36600db323b77a'
* commit '5cd0870e6215ab8c2be01a8e7b36600db323b77a':
Enable shared libraries to use crtbegin_so.S and crtend_so.S
This is necessary to ensure that dlclose() will properly call C++
destructors for the static objects within the shared library.
Change-Id: Ieb056042f9cda7ab120eb770b21f365cd6d64a66
gcc-4.4.3 toolchain is based on fsf GCC-4.4.3 with numerous patches.
It reduces 3.65% code size than the prebuilt gcc-4.4.0 toolchain,
and improves 3.4% performance on Android benchmarks.
The toolchain uses gold as default linker. With gold, the toolchain
further reduces 1MB system image.
Change-Id: I55eb4df185f2932e71498fcc28428e4d1b175393
Merge commit 'b6bee6f17187a9eb3645e9519cca4a126d9aca21'
* commit 'b6bee6f17187a9eb3645e9519cca4a126d9aca21':
Remove irritating warnings about 'va_list' mangling when building C++ sources.