Commit Graph

339 Commits

Author SHA1 Message Date
Nick Kralevich 3ab011bccd arm: turn on -Wl,--fatal-warnings
In b238210c01, we added
-Wl,--warn-shared-textrel to TARGET_GLOBAL_LDFLAGS. This generated
a warning whenever we created a shared library with a text
relocation.  At the time, we wrote:
=====
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.
This warning will turn into an error in a future change
(via --fatal-warnings)
=====

All code which uses text relocations has either been fixed, or
we've temporarily worked around the issue so the code can still
compile.

Enable --fatal-warnings.

This reverts commit 4dc781657b.

Change-Id: I81b96477f1c11069637f28cfd8fb98d42b39be5e
2012-10-18 12:03:30 -07:00
Nick Kralevich 4dc781657b Revert "arm: turn on -Wl,--fatal-warnings"
This reverts commit edfee7250f.
2012-10-16 13:51:02 -07:00
Nick Kralevich edfee7250f arm: turn on -Wl,--fatal-warnings
In b238210c01, we added
-Wl,--warn-shared-textrel to TARGET_GLOBAL_LDFLAGS. This generated
a warning whenever we created a shared library with a text
relocation.  At the time, we wrote:

=====
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.
This warning will turn into an error in a future change
(via --fatal-warnings)
=====

We've successfully removed all text relocations from Android's
compiled code, so turn on -Wl,--fatal-warnings .
Some pre-compiled shared libraries continue to have text relocations,
but they will be unaffected by this change.

Change-Id: I505ea23120048afc45f62593704fe1d6d26a352c
2012-10-15 11:22:31 -07:00
Ying Wang 15f116b2bb am 91fd1231: Support to build executables against the NDK
* commit '91fd1231c3254bc9d0642e5a646b5657bdaedffa':
  Support to build executables against the NDK
2012-10-08 14:21:37 -07:00
Ying Wang 91fd1231c3 Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
2012-10-08 14:12:41 -07:00
Nick Kralevich 6b1ac2588a am 23025ecd: am f3b02739: am 7653519f: Merge "[MIPS] Makes a build system use PIE flag"
* commit '23025ecdc0890e9262951627defda77e621fd9e8':
  [MIPS] Makes a build system use PIE flag
2012-10-04 17:17:11 -07:00
Nick Kralevich 23025ecdc0 am f3b02739: am 7653519f: Merge "[MIPS] Makes a build system use PIE flag"
* commit 'f3b02739a7abba7c8f4884d49553f8a9f3fcfaf8':
  [MIPS] Makes a build system use PIE flag
2012-10-04 17:14:17 -07:00
Ian Rogers e88d5af2ab am 318330dd: am 9acbbf12: am 76a6dc3a: Fix common typo in comments, warning and error messages.
* commit '318330dd920977733f20eeda338d3c36892373f6':
  Fix common typo in comments, warning and error messages.
2012-10-01 17:28:18 -07:00
Ian Rogers 76a6dc3a19 Fix common typo in comments, warning and error messages.
s/can not/cannot/g

Change-Id: I1bac31157732666deb46f6f20389ff539977ffb9
2012-10-01 16:36:23 -07:00
Miroslav Ignjatovic f1e4df7265 [MIPS] Makes a build system use PIE flag
Change-Id: I07be4e8ae559dca615b0c59a71d7363adab4f49b
2012-09-27 13:59:15 -07:00
Ying Wang c6ffc00b9f Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
2012-09-25 18:33:53 -07:00
Ying Wang 5bdf305bbe Move AndroidConfig.h from system/core to the build project.
So unbundled branches don't need to include the system/core project.

Change-Id: Ic4ef62ee6df069b9b2dd123aed95a3e7fcdfc146
2012-09-20 10:33:20 -07:00
Andrew Hsieh 5630521aba resolved conflicts for merge of 3e91f5ad to jb-mr1-dev
Change-Id: I9b587bc6086e1edacc98879e43668001bf72f7db
2012-09-12 15:27:59 -07:00
Andrew Hsieh c2fb2391f4 Enable stack-protector for x86
Change-Id: I7a169075ca49ab831c37625d416c1d4b026bfec3
2012-08-29 15:13:23 +08:00
Jean-Baptiste Queru d4ace13802 am 4dc6ed96: am 9eb87b8d: Merge "Add pattern to check for GCC 4.6"
* commit '4dc6ed96a0612d4693cca5ed5674873754bcb37e':
  Add pattern to check for GCC 4.6
2012-08-28 13:41:09 -07:00
Jean-Baptiste Queru d5096c6a5c resolved conflicts for merge of 5c903372 to jb-mr1-dev
Change-Id: I4994c77a6570ce654915bfb8c5f6ee4583db86b7
2012-08-28 13:40:19 -07:00
Jean-Baptiste Queru 9eb87b8d20 Merge "Add pattern to check for GCC 4.6" 2012-08-28 12:47:34 -07:00
Jean-Baptiste Queru 9e2b4718a0 Merge "Use gold linker on x86" 2012-08-28 12:27:21 -07:00
Pavel Chupin b205b46153 Use gold linker on x86
Patch removes fallback -fuse-ld=bfd for x86 target and
--copy-dt-needed-entries which is not supported by gold linker.

Change-Id: Ie5603f98e3f2f9d4f81678c718e39b130a75d057
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2012-08-28 13:10:18 +04:00
Andrew Hsieh 26c7805781 Add pattern to check for GCC 4.6
GCC 4.6 --version can return 4.6.x-google but also simply 4.6
as of https://android-review.googlesource.com/#/c/42028.
Add more pattern to detect it.

Change-Id: Ibf34fba9afdf01bd3eafc011cc4d059b59f25d3d
2012-08-28 10:49:05 +08:00
Jean-Baptiste Queru 414d7e859a am dbf6ad06: am 713bac96: Merge "ARM: put crtbegin_so.o at the beginning where it belongs"
* commit 'dbf6ad0692f98cacf27dc023854b2c5a5575a841':
  ARM: put crtbegin_so.o at the beginning where it belongs
2012-08-24 13:06:42 -07:00
Jean-Baptiste Queru 713bac96d6 Merge "ARM: put crtbegin_so.o at the beginning where it belongs" 2012-08-24 13:00:10 -07:00
Jean-Baptiste Queru cd9668edd4 am e3479ea5: am 15012c11: Merge "Build on Mac OS X : add experimental SDK versions"
* commit 'e3479ea5033e2ede36f6f771dd3a6ea315505efd':
  Build on Mac OS X : add experimental SDK versions
2012-08-22 09:57:30 -07:00
Jean-Baptiste Queru 15012c115d Merge "Build on Mac OS X : add experimental SDK versions" 2012-08-22 09:44:48 -07:00
SangWook Han 691e0243ca Build on Mac OS X : add experimental SDK versions
Change-Id: Ifc67d1745e72fc048cd6e8c8ef0521ab92468086
2012-08-22 02:59:58 +09:00
Ard Biesheuvel 6c1f9ccfb1 ARM: put crtbegin_so.o at the beginning where it belongs
Change-Id: I9466fe9277c58a7b8f8a9964b2d578a65e579995
2012-08-21 10:42:32 +02:00
Andrew Hsieh 31ef1037bf Added BUILD_HOST_static to build statically linked executable/shared-lib
Statically linked executable/shared-lib (eg. SDK tools) are useful
in sandboxed environment.

In BUILD_HOST_static zipalign needs -lpthread indirectly:
zipalign->libutils.a->liblog.a->logd_write.c->pthread

Change-Id: I615f574e918c83ed1ab82db2453b69d0420cb59c
2012-08-21 14:40:16 +08:00
Ying Wang 732b2ba79a Merge "Don't include system/core/include/arch/<arch>/Android.mk for apps-only build." into jb-mr1-dev 2012-08-16 16:51:00 -07:00
Ying Wang da4bf42514 Don't include system/core/include/arch/<arch>/Android.mk for apps-only build.
Bug: 6994483
Change-Id: I76c4d96264cf94a79d59fdeb52bb37c07a9458dd
2012-08-16 16:45:01 -07:00
Jean-Baptiste Queru 2f32c04d8c am d77d8906: am 6020d698: Merge "select.mk: Tune ccache options"
* commit 'd77d8906b8fc4a6e2ecaf9bc5f5b84ddec6dbe7e':
  select.mk: Tune ccache options
2012-08-16 15:28:47 -07:00
Andrew Boie 1f93043c86 select.mk: Tune ccache options
With these adjustments, cached object files can now be shared across
multiple Android trees on a single workstation:

* Compiler binary modification time no longer causes cache misses,
  as a hash of the compiler binary is taken rather than looking
  at the mtime and size
* Header file modification time no longer causes cache misses,
  the headers are now always hashed
* Macros such as __DATE__ and __TIME__ no longer cause cache misses
* All paths in preprocessed source (due to use of -g) are now relative

These options require ccache 3.1 or later to be used; ccache 2.4 will
ignore these.

Change-Id: I7839637e9dacf7240bd9b7bfaa6406b1db423560
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2012-08-16 11:11:29 -07:00
Keun young Park a8811fda4f fix MIPS build
- crtxx.o built under TARGET_OUT_INTERMEDIATE_LIBRARIES,
  not under TARGET_OUT_STATIC_LIBRARIES

Change-Id: Ife05206bd66f691853100bbf17e08a13c287d073
2012-08-15 13:42:37 -07:00
Elliott Hughes 880d3f39f7 resolved conflicts for merge of 0ac38a4e to jb-mr1-dev
Change-Id: I0978f511f807797f89be4002bca654492231761c
2012-08-11 12:00:51 -07:00
Elliott Hughes 5f6c7fd884 Remove TARGET_linux-sh.mk.
SH support is long gone from bionic and dalvik.

Change-Id: I613df5f0062d743686847610737af9a321eec1da
2012-08-10 15:36:51 -07:00
Nick Kralevich 62481e30f3 Merge "arm: add --warn-shared-textrel" into jb-mr1-dev 2012-08-10 14:11:14 -07:00
Nick Kralevich b238210c01 arm: add --warn-shared-textrel
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.

This warning will turn into an error in a future change
(via --fatal-warnings)

References: http://www.akkadia.org/drepper/textrelocs.html

Change-Id: I3bc818e3ecdb8a4338668a9e816b6dc1081b7557
2012-08-10 13:05:53 -07:00
Jean-Baptiste Queru c244634e8f am 64b8c6e9: am 6e6d92c4: Merge "Support for MIPS Build targets."
* commit '64b8c6e936ae713a61c53a85a0badbd7d480e414':
  Support for MIPS Build targets.
2012-08-10 12:43:58 -07:00
Raghu Gandham 06afc1c5ab Support for MIPS Build targets.
Change-Id: I14c27305298ce36d5c100abf25489275c2269c5f
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
2012-08-01 11:18:25 -07:00
Andrew Hsieh f116e9bc84 Add -fuse-ld=bfd to x86 target
Add -fuse-ld=bfd because ld.gold doesn't support "--copy-dt-needed-entries".

Change-Id: I4e78967a076b3d093dd55366f7a54f0c9f9a45d1
2012-07-25 11:06:28 -07:00
Andrew Hsieh bae121afcd Add -fuse-ld=bfd to x86 target
Add -fuse-ld=bfd because ld.gold doesn't support "--copy-dt-needed-entries".

Change-Id: Ie6fa0a2ddfc57b650552c8cf0891f738a5be0dda
2012-07-25 11:02:52 -07:00
Ying Wang dfb5818027 am d512fda4: am e42ed0ba: Merge "Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk"
* commit 'd512fda4ae7cc56cc9b83fcb6e7a9e0d0f02c259':
  Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
2012-06-29 20:22:20 -07:00
Ying Wang d512fda4ae am e42ed0ba: Merge "Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk"
* commit 'e42ed0ba1571f20866609710ba7c73fd138c0405':
  Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
2012-06-29 20:19:50 -07:00
Ying Wang 478ba5e3f0 Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
Bug: 6754632
So the warning won't show up when you run lunch.
Now the warning only shows when you do a clean build.

Change-Id: I7876da783f059d390f0072df37d3ab0291589eb7
2012-06-28 16:02:19 -07:00
Jean-Baptiste Queru 41a3fb3707 am 6e207824: resolved conflicts for merge of 572d0d7d to jb-dev-plus-aosp
* commit '6e207824af267eea8777949ccf6d0584accd55a0':
  x86: Clean up atom vs/ non-atom compiler flags, enable SSSE3
2012-06-13 07:44:31 -07:00
Jean-Baptiste Queru 6e207824af resolved conflicts for merge of 572d0d7d to jb-dev-plus-aosp
Change-Id: I6c750adcf06457bf8a3b47423c990be6e9d23bbb
2012-06-13 07:42:04 -07:00
Jean-Baptiste Queru 3f8ff030e0 Merge "x86: Clean up atom vs/ non-atom compiler flags, enable SSSE3" 2012-06-13 06:25:00 -07:00
Jean-Baptiste Queru 2f65e81974 am 06b1a47f: am d3d78a30: am a11ad6c2: Merge "gcc 4.6 requires --copy-dt-needed-entries"
* commit '06b1a47fe19699e8cb94fd6a007f82f3b41119fe':
  gcc 4.6 requires --copy-dt-needed-entries
2012-06-12 15:56:29 -07:00
Jean-Baptiste Queru 06b1a47fe1 am d3d78a30: am a11ad6c2: Merge "gcc 4.6 requires --copy-dt-needed-entries"
* commit 'd3d78a30a4f8dd40fa055577ea2708ab34606cec':
  gcc 4.6 requires --copy-dt-needed-entries
2012-06-12 15:52:54 -07:00
Jean-Baptiste Queru a11ad6c2b3 Merge "gcc 4.6 requires --copy-dt-needed-entries" 2012-06-12 15:24:17 -07:00
Ying Wang e556005331 resolved conflicts for merge of 5c0ee702 to master
Change-Id: I6bdcc87482c45988d410a4c4d0abc43a1416277e
2012-06-08 09:37:54 -07:00
Ying Wang 5c0ee702d6 am 79d39a30: am 874563f9: Merge "Fix generic build on Max OS X 10.7 Lion"
* commit '79d39a303e036dc70eccf2e2e7489fa0bbfd3a4b':
  Fix generic build on Max OS X 10.7 Lion
2012-06-08 09:27:08 -07:00
SangWook Han 02eb37c267 Fix generic build on Max OS X 10.7 Lion
Recover variable build_mac_version which is removed on
    commit 644dc16 and added on commit 9ce06f1.

    Without this, ranlib libSDL.a is executed on Lion which
    causes build fail of emulator-arm.

Change-Id: I06144a288921f8f968ef457999398c1b9152d4aa
2012-06-08 14:55:05 +09:00
Ying Wang 10f775379d Tweak cflags for building with SDK 10.6.
Change-Id: I4db9949577591ef6756812769f04cfaddd876faf
2012-06-07 17:10:53 -07:00
Ying Wang fcc2a604af am f1e424a6: am 3da13457: am 4b030617: Merge "XCode 4.3+ compatibility check-in"
* commit 'f1e424a63658eb15ba61ca2eb8f0df38733188fe':
  XCode 4.3+ compatibility check-in
2012-06-07 12:03:46 -07:00
Ying Wang f1e424a636 am 3da13457: am 4b030617: Merge "XCode 4.3+ compatibility check-in"
* commit '3da13457cfa46cf7d46b57c00f387c7c310b2dba':
  XCode 4.3+ compatibility check-in
2012-06-07 12:02:06 -07:00
Al Sutton 51f9bb02da XCode 4.3+ compatibility check-in
XCode 4.3 and later use a different location for SDKs. This check in
ensures the build checks for the new location as well as the old one.

Change-Id: I97884e5009f229f8b42e57a8feeb702b3a40a241
Signed-off-by: Al Sutton <al@funkyandroid.com>
2012-06-07 19:10:13 +01:00
Nick Kralevich a46c480e43 arm: add -D_FORTIFY_SOURCE=1 to the default cflags
Add additional compile and runtime buffer overflow detection to
Android. As of today, Android supports additional buffer overflow
detection for the following libc functions:

* memcpy
* memmove
* strcpy
* strcat
* strncpy
* strncat

Support for additional functions will be added to bionic libc in
future code changes.

Please see
    * http://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html
    * http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html

for information on these features.

Change-Id: I1a281a4bac20009f4730dd8d8b798fa107576230
2012-06-07 08:55:06 -07:00
Ying Wang 130ae6adcb resolved conflicts for merge of 9f4d00b9 to master
Change-Id: I1818896ae714aa54ad980bfbf7648652369497e5
2012-06-05 15:44:21 -07:00
Ying Wang 9f4d00b94b am e534e2eb: am 47450542: Merge "Use Mac OS X SDK 10.6."
* commit 'e534e2eb2b5e79facf24c31eb2f60b8a0ee1f5b7':
  Use Mac OS X SDK 10.6.
2012-06-05 15:25:39 -07:00
Ying Wang 644dc164cc Use Mac OS X SDK 10.6.
Change-Id: I8ca16db2fb93d350829e14f4339e7ece75a2fb54
2012-06-05 14:23:22 -07:00
Ying Wang abf72cf3f4 Use Mac OS X SDK 10.6.
Change-Id: I8ca16db2fb93d350829e14f4339e7ece75a2fb54
2012-05-30 18:16:10 -07:00
Ying Wang 9d50defb8b Revert "Use Mac OS X SDK 10.6."
This reverts commit 4c1b310b9b
2012-05-25 18:55:52 -07:00
Ying Wang 4c1b310b9b Use Mac OS X SDK 10.6.
Change-Id: Ie36914ab1763c5606111f7501c97ed97517e7187
2012-05-25 15:43:38 -07:00
Bruce Beare c3192b3164 x86: Clean up atom vs/ non-atom compiler flags, enable SSSE3
Change-Id: I0576514621affefea86a14d419f428761a60e067
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2012-05-25 09:59:25 -07:00
Bruce Beare 52b63178d9 gcc 4.6 requires --copy-dt-needed-entries
Change-Id: Icc62106e0f2e96f4cd871bb4b3c46c7ca83cabec
Author: Bruce Beare <bruce.j.beare@intel.com>
Reviewed-by: Lu, Hongjiu <hongjiu.lu@intel.com>
2012-05-25 09:27:23 -07:00
Elliott Hughes f440828fa0 Merge "Compile Mac OS binaries with unwind tables for libcorkscrew." 2012-05-24 15:21:44 -07:00
Elliott Hughes 468d6a584f Compile Mac OS binaries with unwind tables for libcorkscrew.
Change-Id: I9755d8d39913830180da2ce32bcdd357309ff792
2012-05-23 17:32:32 -07:00
Andrew Hsieh 0fc900754d am 6dfe3e11: Merge "Set generic_x86/BoardConfig.mk TARGET_ARCH_VARIANT to x86" into jb-dev-plus-aosp
* commit '6dfe3e11a56707ce288a4dec8d3022ff61ef023f':
  Set generic_x86/BoardConfig.mk TARGET_ARCH_VARIANT to x86
2012-05-21 18:53:49 -07:00
Andrew Hsieh 6dfe3e11a5 Merge "Set generic_x86/BoardConfig.mk TARGET_ARCH_VARIANT to x86" into jb-dev-plus-aosp 2012-05-21 18:51:52 -07:00
Jean-Baptiste Queru fed04c4c72 am 99e1613f: am 72b329e5: am 3c5191c6: Merge "Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES"
* commit '99e1613fd5d3773387b52910d7daa86535f42e25':
  Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES
2012-05-21 14:30:47 -07:00
Andrew Hsieh 8e376fb633 am 112a6747: Add -mno-movbe to disable "movbe" instruction from code-gen
* commit '112a674798c58052ddce94418e34f3e5a084ed1a':
  Add -mno-movbe to disable "movbe" instruction from code-gen
2012-05-21 12:44:38 -07:00
Jean-Baptiste Queru 99e1613fd5 am 72b329e5: am 3c5191c6: Merge "Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES"
* commit '72b329e5042b8fc15cbcbea3d382a072f79eb961':
  Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES
2012-05-21 08:10:26 -07:00
Jean-Baptiste Queru 3c5191c61a Merge "Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES" 2012-05-21 07:30:17 -07:00
Andrew Hsieh b968c85edf Set generic_x86/BoardConfig.mk TARGET_ARCH_VARIANT to x86
Change TARGET_ARCH_VARIANT from x86-atom to x86, for the reason
that atom-specific instruciton like "movbe" isn't "generic" to
x86 Android devices and x86 host running emulator-x86, which may
crash non-atom host in VT because "movbe" isn't supported natively.

Also revert previous fix in TARGET_linux-x86.mk which conservatively
disable "movbe" across the board

Change-Id: Ief93a3585566ffae558fcdc29741e6213a048d7d
2012-05-21 14:27:59 +08:00
Andrew Hsieh 112a674798 Add -mno-movbe to disable "movbe" instruction from code-gen
Intruction "movbe" (move data after swapping bytes) is only available in
Intel atom.  Disable it for more general x86 devices and x86 hosts which
run emulator-x86.  Although emulator-x86 can support "movbe", most of
the time we want to run emulator-x86 with VT support for speed (with KVM
in Linux, or HAXM in Windows/MacOSX).  The presence of "movbe" can crash
emulator-x86 in VT because non-atom host doesn't have it natively.

Change-Id: I86e037900ddcb8d544f92b8d8464c8627347e560
2012-05-18 15:53:35 +08:00
Jean-Baptiste Queru dacf9bfe16 am feec98b1: resolved conflicts for merge of 62855a83 to jb-dev-plus-aosp
* commit 'feec98b139d2ca0b0164a5e178e75ce88b8f492f':
  Use i686-linux-android-4.6 for x86 build
2012-05-17 15:34:07 -07:00
Jean-Baptiste Queru feec98b139 resolved conflicts for merge of 62855a83 to jb-dev-plus-aosp
Change-Id: Ic424ff756396463b98d137f8353d4a230e806a07
2012-05-16 13:18:39 -07:00
Jean-Baptiste Queru 2436ea8a8c Merge "Use i686-linux-android-4.6 for x86 build" 2012-05-16 06:42:55 -07:00
Ying Wang b1a4e4e89e Delete the misleading var TARGET_OUT_STATIC_LIBRARIES.
Which can be replaced by TARGET_OUT_INTERMEDIATE_LIBRARIES.

Change-Id: I965ff1ebe70fc3113c19e4896277c876dcedb6a5
2012-05-15 16:12:18 -07:00
Nick Kralevich ee08fe3196 stop using a custom linker script for static executables.
This is causing problems with making the linker relocatable.

Change-Id: I53e37fba52eabd3145130712d6e9bff074aed493
2012-05-15 10:40:35 -07:00
H.J. Lu 402d7f3654 Use i686-linux-android-4.6 for x86 build
Change-Id: Ibbb0a899f147013503d6830bb93050c5ae588539
Author: "H.J. Lu" <hongjiu.lu@intel.com>
2012-05-14 08:22:27 -07:00
Nick Kralevich 0dc038075c am 9d602a70: am ecb1a565: x86: compile everything with relro / bind_now
* commit '9d602a7005683965814823feda5aabcce5a92201':
  x86: compile everything with relro / bind_now
2012-05-10 09:30:54 -07:00
Nick Kralevich 9d602a7005 am ecb1a565: x86: compile everything with relro / bind_now
* commit 'ecb1a565849b40ab7aa45b7fe71e24e29a059376':
  x86: compile everything with relro / bind_now
2012-05-10 09:24:10 -07:00
Nick Kralevich ecb1a56584 x86: compile everything with relro / bind_now
Enable relro / bind_now when compiling Android applications.
This marks certain regions of memory as read-only after linking,
making memory corruption security vulnerabilities are harder
to exploit.

See:
 * http://www.akkadia.org/drepper/nonselsec.pdf (section 6)
 * http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html

relro support has been enabled for ARM since 233d460f21.
This change enables it for x86.

Change-Id: Ib90704f2fecffcfdc3587607112804faa0e16385
2012-05-09 14:49:04 -07:00
Kito Cheng 61c37e7a4f Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES
Change-Id: I9ff53f51dcb57511a24765bdf6a61c000a7ce977

Signed-off-by: Kito Cheng <kito@0xlab.org>
2012-05-09 23:54:45 +08:00
Jean-Baptiste Queru 92fadc6fbf am 269a40d1: am b031afab: am bf3d3287: Merge "Use the same compilation flags on OS X 10.8 as 10.7"
* commit '269a40d140753aee1e579f8179b132ffe3415150':
  Use the same compilation flags on OS X 10.8 as 10.7
2012-05-08 11:32:54 -07:00
Jean-Baptiste Queru 269a40d140 am b031afab: am bf3d3287: Merge "Use the same compilation flags on OS X 10.8 as 10.7"
* commit 'b031afab543d8bf9bb236ff4c297f5ced70f8943':
  Use the same compilation flags on OS X 10.8 as 10.7
2012-05-07 13:59:56 -07:00
Al Sutton 35bb6422bc Use the same compilation flags on OS X 10.8 as 10.7
Added Mountain Lion to the list of versions which don't need ranlib
and don't need the pre-Lion linker flags

Change-Id: I0c785f0c66e324af9a209520c5a5b3c9bf7df0d5
Signed-off-by: Al Sutton <al@funkyandroid.com>
2012-05-07 09:44:28 +01:00
Shih-wei Liao eaa0f82295 Merge "Members in LOCAL_WHOLE_STATIC_LIBRARIES should be force_loaded." 2012-05-03 15:40:27 -07:00
Shih-wei Liao b2680757a0 Members in LOCAL_WHOLE_STATIC_LIBRARIES should be force_loaded.
For Mac build, force_load the LOCAL_WHOLE_STATIC_LIBRARIES.

Mac has its custom linker. However, its linking rule for generating
shared libraries doesn’t take the LOCAL_WHOLE_STATIC_LIBRARIES
into consideration.

Change-Id: Ia6858bf6e2ebb334db8f3d0bdc71d7ecc0ef11c1
2012-05-03 15:38:17 -07:00
Jean-Baptiste Queru e11abdbe57 am 76cc34ca: am 6dfbf024: am 9e4e3b37: Merge "TARGET_linux-arm.mk: use single slash version of -print-whatever"
* commit '76cc34ca0adefac91f90fae478f2c6140e41e088':
  TARGET_linux-arm.mk: use single slash version of -print-whatever
2012-05-02 17:07:09 -07:00
Jean-Baptiste Queru 76cc34ca0a am 6dfbf024: am 9e4e3b37: Merge "TARGET_linux-arm.mk: use single slash version of -print-whatever"
* commit '6dfbf0240b77acaf7d6b650b4c206deb29337e7b':
  TARGET_linux-arm.mk: use single slash version of -print-whatever
2012-05-02 17:05:04 -07:00
Jean-Baptiste Queru cd742a991e am 9bdc2907: am 8571ee47: am f562adc8: Merge "Force use of compatibility compilers on Apple\'s command line tools"
* commit '9bdc290792f8c5c4e4beb40e6b7f335759b6d6d5':
  Force use of compatibility compilers on Apple's command line tools
2012-05-02 14:21:06 -07:00
Jean-Baptiste Queru 9bdc290792 am 8571ee47: am f562adc8: Merge "Force use of compatibility compilers on Apple\'s command line tools"
* commit '8571ee478ee352827ec37460d23e6e0dbb1e96db':
  Force use of compatibility compilers on Apple's command line tools
2012-05-02 14:18:28 -07:00
Jean-Baptiste Queru 9e4e3b378f Merge "TARGET_linux-arm.mk: use single slash version of -print-whatever" 2012-05-02 13:26:50 -07:00
Al Sutton 0d07c732c7 Force use of compatibility compilers on Apple's command line tools
The cc and c++ compilers included in Apple's command line tools show some
unusual behaviour which causes the build to fail in several projects under
Xcode 4.3

This patch uses the gnu compatibility gcc and g++ compilers on OS X instead
to reduce problems, and generates an error when an llvm based compiler is
detected because they currently do not generate usable emulator executables
due to them not honouring global register variables.

Change-Id: I506c22dad3dcbd41df3c7672802a675d3655e262
Signed-off-by: Al Sutton <al@funkyandroid.com>
2012-05-02 07:11:27 -07:00
Andrew Hsieh f9613a4f73 Added BUILD_HOST_static to build statically linked executable/shared-lib
Statically linked executable/shared-lib (eg. SDK tools) are useful
in sandboxed environment.

In BUILD_HOST_static zipalign needs -lpthread indirectly:
zipalign->libutils.a->liblog.a->logd_write.c->pthread

Change-Id: I8fa91a937b728ccdf942c4ba199efb1e2e49da3d
2012-04-28 00:53:55 +08:00
Nick Kralevich 233d460f21 ARM: compile everything with relro / bind_now.
Enable relro / bind_now when compiling Android applications.
This marks certain regions of memory as read-only after linking,
making memory corruption security vulnerabilities are harder
to exploit.

See:
 * http://www.akkadia.org/drepper/nonselsec.pdf (section 6)
 * http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html

Stop using the custom linker script, which inhibits
relro / bind_now support.

Change-Id: Ie97ccdd2845886bbc2ba2fdd47eed0ff4b29b60b
2012-04-26 09:09:24 -07:00
Jean-Baptiste Queru 4e82d1fa7f On linux, always use the prebuilt host toolchain
Change-Id: I8077c4780e1e3540e5e2133cf0ffa61d474d3acc
2012-04-20 19:04:56 -07:00
Jean-Baptiste Queru a50ef1c124 Switch to new locations of toolchains
Change-Id: I15a8be11b3d0f1985ffd97dd51a1af18e1ce7b67
2012-04-20 16:15:42 -07:00