Commit Graph

23 Commits

Author SHA1 Message Date
Ying Wang 3a7e4ccad9 Unify use of $(hide).
Change-Id: Ib7e17bbb4682caecce5812e63de872b676403d64
2011-01-28 14:14:47 -08:00
Ying Wang f5653d1cee Regularize use of PRIVATE_CXX.
Change-Id: Ifc628c67b5fa142cec59187f89f2d39df81160b9
2011-01-27 20:08:34 -08:00
Ying Wang 80e6cce93e Correct misuse of target/host vars.
Change-Id: Ide41aeddc44ca05d85a36035c2d55ea453cfd216
2011-01-24 23:25:36 -08:00
Jing Yu a83b769566 Remove global inline options.
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
2010-12-21 16:33:48 -08:00
Ben Cheng efd2489b39 Insert directives to work around a CPU bug.
Bug: 3117632
Change-Id: I2fb58e7093984d18d2d2d21edf687206f4ddab31
2010-10-21 15:15:09 -07:00
Dima Zavin 6d98f5f4d6 core: fix paths to libm arch-specific include dirs
Change-Id: I17a1ed13af6d4955a636ad429917b683ac59a947
Signed-off-by: Dima Zavin <dima@android.com>
2010-08-05 17:46:53 -07:00
Jing Yu 9d396e37ac Make arm-linux-androideabi toolchain the default for Android build.
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
2010-07-29 19:09:12 -07:00
Jing Yu 584f5b7a84 Group needed libraries together to solve the cyclic dependence
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
2010-07-21 14:57:59 -07:00
Ying Wang aabbc07cb8 am 90cf34c7: am f0f60cdd: resolved conflicts for merge of 1a08100f to gingerbread
Merge commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b'

* commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b':
  Support to build native libraries with prebuilt NDK
2010-07-13 17:26:00 -07:00
Ying Wang 90cf34c72e am f0f60cdd: resolved conflicts for merge of 1a08100f to gingerbread
Merge commit 'f0f60cdd8f4f74b2480774887606afdebec8d891' into gingerbread-plus-aosp

* commit 'f0f60cdd8f4f74b2480774887606afdebec8d891':
  Support to build native libraries with prebuilt NDK
2010-07-13 17:24:09 -07:00
Ying Wang f0f60cdd8f resolved conflicts for merge of 1a08100f to gingerbread
Change-Id: I9e4183a1d5c0efb13de8655b9eb7c74d50b34cd7
2010-07-13 17:21:33 -07:00
Ying Wang 1a08100fa9 Support to build native libraries with prebuilt NDK
Bug: http://b/issue?id=2811253
Change-Id: Iabd4ab8b3d7236dffe89f1939e1142e882944026
2010-07-13 16:29:18 -07:00
The Android Open Source Project 4be5c394c1 am 0fd96df4: merge from open-source master
Merge commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5'

* commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5':
  Refactor Stripper. Allow a stripper other than SOSLIM to be specified
2010-07-09 16:05:04 -07:00
The Android Open Source Project 0fd96df49c merge from open-source master
Change-Id: I40aa6f0f885ea30dd5f9918c323fa240a4830c38
2010-07-09 16:02:03 -07:00
Bruce Beare 45ac434151 Refactor Stripper. Allow a stripper other than SOSLIM to be specified
Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-07-09 12:16:46 -07:00
Doug Kwan baff089c37 Enable ICF link-time optimization.
Change-Id: I49af3366262bebe12dacfebe99ec742b79bf9d84
2010-06-29 11:14:42 -07:00
David 'Digit' Turner 438f5f75ec 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
2010-06-18 16:08:36 -07:00
Jing Yu ada132a80b Switch toolchain from gcc-4.4.0 to gcc-4.4.3
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
2010-06-16 20:17:19 -07:00
David 'Digit' Turner 3e4677856f Remove irritating warnings about 'va_list' mangling when building C++ sources.
Change-Id: I6305e93515e57462e7c57af0cc41a659e4190696
2010-06-16 16:04:55 -07:00
Nick Kralevich d868cad828 Add -Werror=format-security
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
2010-05-17 14:30:01 -07:00
Nick Kralevich 2915cc3e32 Enable NX protections
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
2010-05-05 11:09:52 -07:00
Nick Kralevich 387e4d0601 LOCAL_LDFLAGS should come after TARGET_GLOBAL_LDFLAGS
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
2010-04-26 14:12:19 -07:00
Jean-Baptiste Queru 9b4a81237b Get rid of $(combo_target)
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
2010-02-23 12:36:56 -08:00