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.
Security hardening: don't allow code to compile which
uses format strings in an inappropriate way. Make format
string compiler warnings into errors.
Change-Id: I1461dad589a2416420fd84ccf765983e859eea8a
Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling applications. This enables NX
protections, which prevent code from executing on the
stack or heap. NX protections can block a large number
of buffer overflow attacks, and is an important security
feature.
Change-Id: Iad4bab9f8664584ba6ce832a5318d07680d7a908
A package can define a LOCAL_LDFLAGS. If a LOCAL_LDFLAGS
exists, it should come after the global LDFLAGS, to allow
the local flags to override the global flags.
Change-Id: I6e44c17949c1f11c808d0ed3f327d63fb51a1468
This adds "-lpthread" to TARGET_GLOBAL_LDFLAGS when TARGET_SIMULATOR
is true. This is much easier than inserting it into individual
makefiles as needed. Has no effect on other builds.
Should fix the sim-eng build breakage in libcameraservice.
Change-Id: I4dcd7d54b93d1be1622b8ce78a1662d28ca9f9f2
This detail got lost in my previous cleanup change 9b4a812.
Also add a comment explaining why the host side of the
simulator needs to be built in 64-bit (wxWidgets).
Change-Id: I2a867f7f80b43d53e73348b19f6ae834600295f9
The only OS-ARCH combo that would have benefited from it
is linux-x86, but it explicitly used separate configurations
for the HOST_ and TARGET_ side of things.
This makes is clear which files are related to the HOST_
configuration and which ones are related to the TARGET_
configuration, and expands $(combo_target) to the only
possible/reasonable value that it could have had in every
file.
This also cleans up the simulator, by moving it in a single
place in TARGET_linux_x86 (since the only part that's special
is to use HOST_ settings even when building TARGET_ modules).
Change-Id: I2420eeb8cfe539f5807ec99cb3177ffb9f2476d5
The "set default variant to armv5te if none defined" in the ARM config
was applying to all architectures, but as it turns out only ARM builds
actually cared. When I made a copy of the "set default" code to the x86
config, one or the other would win for builds that didn't specify a
variant. Turns out x86 won, so sim and voles worked, but opal didn't.