Commit graph

164 commits

Author SHA1 Message Date
Jean-Baptiste Queru
3c5191c61a Merge "Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES" 2012-05-21 07:30:17 -07:00
Jean-Baptiste Queru
2436ea8a8c Merge "Use i686-linux-android-4.6 for x86 build" 2012-05-16 06:42:55 -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
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
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
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
Jean-Baptiste Queru
a50ef1c124 Switch to new locations of toolchains
Change-Id: I15a8be11b3d0f1985ffd97dd51a1af18e1ce7b67
2012-04-20 16:15:42 -07:00
Jing Yu
c856e31523 Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields.
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01390.html

-fstrict-volatile-bitfields is set on by default on gcc-4.6
for ARM target. This causes an inline asm() error. While
upstream gcc community is working on the patch, we shut
off this option temporarily.

This patch does not affect gcc-4.4.3 build.

Change-Id: Id7016dc5856a516e10f2617232945034728a74ab
2012-04-20 07:53:16 -07:00
Doug Kwan
422a3650d3 Fix build problems with gcc-4.6.x.
Change-Id: If02f18efde4cec39c97bb0e7226b008cd6b85dd4
2012-04-20 07:52:47 -07:00
Andrew Hsieh
2245d17dc8 Point to new linux prebuilt toolchain for SDK build
Change-Id: I21849119b0f3f45f950e9e6d1da0833aff381fb7
2012-03-22 09:55:36 -07:00
Jim Huang
5d84f1659f TARGET_linux-arm.mk: use single slash version of -print-whatever
The double slash variants are not documented in GCC manual.  Therefore,
it is better to use the single slash variants as usual.
2012-01-31 11:11:29 +08:00
Al Sutton
80cfc37d0f Partial fix for emulator under Lion.
Don't use -Wl,-dynamic on Lion
2012-01-04 15:16:50 -08:00
Al Sutton
9ce06f11d6 Don't run ranlib on MacOS 10.7
Change-Id: I74f4623e6044dd804669aaa70c6e410fa8988d75
2011-12-21 13:12:33 -08:00
Bruce Beare
3343b27c53 x86: The default ATOM BSP flags need to be in sync with the NDK ABI
Change-Id: Ic741e1795c655ace1e33ae6708219f2708358090
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-12-09 13:27:08 -08:00
Jim Huang
cb48497ff2 HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE
While building Android with latest host gcc, it causes the following
build error:

Install: out/host/linux-x86/bin/mkbootimg
host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors

In order to make build system happy, this patch does unset macro
_FORTIFY_SOURCE and then define it in host cflags.

Change-Id: Ic37a90f05081a2c3650b3335bc87e9e895900fb2
2011-11-10 13:28:13 -08:00
Ying Wang
45bee774eb am a1b603a5: am 4b398749: am c5033a33: Merge "x86: remove obsolete comments"
* commit 'a1b603a556e338d4899a62ea37810aff81ab7fa1':
  x86: remove obsolete comments
2011-08-29 11:05:08 -07:00
Ying Wang
a1b603a556 am 4b398749: am c5033a33: Merge "x86: remove obsolete comments"
* commit '4b3987498eb15dc654fe572aadf53396aac36479':
  x86: remove obsolete comments
2011-08-26 12:12:48 -07:00
Chih-Wei Huang
aa1c321a58 x86: remove obsolete comments
Change-Id: Ifb12892c17a50f85c7700d6413ea295a4dad7047
2011-08-03 12:16:59 +08:00
Doug Kwan
be3689e981 Conditionally disable -Wno-unused-but-set-variable for gcc-4.6.
We used to do that unconditionally but that caused lots of spurious
warnings in gcc-4.4.x about an unrecognized gcc option.

Change-Id: Idb5118b069871859e07a7efa04914ab6ed0b1372
2011-07-14 16:34:26 -07:00
Jeff Brown
e33ba4c49e Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
2011-07-11 23:51:37 -07:00
Evgeniy Stepanov
8f77c9ded3 Add .gnu_debuglink when stripping DSOs.
This is used by debug tools to find symbols for the stripped binary.
Adds ~70 bytes to each DSO, ~25000 bytes total, which is about 0.01% of the
system image.

This change only affects -eng and -userdebug builds, and does not affect -user.

Change-Id: I0c92a9e09fbc97184dea66813923568cbcc2a3fe
2011-06-28 12:47:34 +04:00
Raphael
ecb957705c resolved conflicts for merge of 732936d9 to master
Change-Id: I1fc667057aebbbef19bde746ebcc650ac0e8c35c
2011-06-23 13:52:29 -07:00
Raphael
732936d99a resolved conflicts for merge of 8508a073 to honeycomb-plus-aosp
Change-Id: I376928881adb0e9fd62fabc1e21542bf0d700ca2
2011-06-22 14:35:32 -07:00
Raphael Moll
c639c787a0 Lunch: don't use a toolchain that doesn't exist.
"lunch sdk-eng" on cygwin tries to use a gcc.exe from the
prebuild arm toolchain, but it doesn't exist. This prevents
from setting variables to point on a gcc toolchain if there
is none for the given arch.

Change-Id: I3b72220663687f9fdaacc050899aef00632f2c3c
2011-06-21 06:11:05 -07:00
Martijn Coenen
3c22287c1b Revert "x86: Enable -fstack-protector"
This reverts commit e397dcccbb.
2011-06-07 08:57:34 -07:00
David Turner
5d627263c8 am 0a2d335e: am c1705c9a: Merge "x86: Enable -fstack-protector"
* commit '0a2d335e99bae3c257c0e26fe180d00de04bebaa':
  x86: Enable -fstack-protector
2011-06-06 14:39:32 -07:00
David Turner
486ce3495c am e4778e6a: am 4272b32a: Merge "Clean up of X86 build flags"
* commit 'e4778e6ab82a40475081482f26759985deeb7f21':
  Clean up of X86 build flags
2011-06-06 12:56:15 -07:00
David Turner
0a2d335e99 am c1705c9a: Merge "x86: Enable -fstack-protector"
* commit 'c1705c9ad8da4d6c2d267e27afd6e16aa7b431b6':
  x86: Enable -fstack-protector
2011-06-06 12:27:26 -07:00
David Turner
e4778e6ab8 am 4272b32a: Merge "Clean up of X86 build flags"
* commit '4272b32a86bd22ce560e41816cece950a7af4e51':
  Clean up of X86 build flags
2011-06-06 11:33:04 -07:00
Bruce Beare
e397dcccbb x86: Enable -fstack-protector
Change-Id: I1fe10159b7a29452ecfc6ba328164948cf9950d6
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-05-26 08:53:04 -07:00
Mark D Horn
5812d7b469 Clean up of X86 build flags
Review and clean-up of both compiler and linker flags
to ensure proper usage and consistency for images, toolchain,
SDK, and NDK.

Change-Id: Ife75c32cd49b32345712dee28fa5f2283069a90e
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Author: Bruce Beare <bruce.j.beare@intel.com>
2011-05-18 14:10:58 -07:00
Ying Wang
c6bb84159c Merge "Add LOCAL_GROUP_STATIC_LIBRARIES" 2011-04-27 09:34:13 -07:00
David Turner
cb040fbca4 am 57a477ff: am 6f9b7562: am d5565942: Merge "x86: Disable stack-protector until bionic is fixed"
* commit '57a477ff2e3dc853d24ca4ce490dbc50feeca3c8':
  x86: Disable stack-protector until bionic is fixed
2011-04-26 12:45:49 -07:00
David Turner
57a477ff2e am 6f9b7562: am d5565942: Merge "x86: Disable stack-protector until bionic is fixed"
* commit '6f9b7562e36483a7bf23833d99da6a50e57f7266':
  x86: Disable stack-protector until bionic is fixed
2011-04-26 10:24:24 -07:00
Ying Wang
fcdabd4bdb Add LOCAL_GROUP_STATIC_LIBRARIES
Set LOCAL_GROUP_STATIC_LIBRARIES := true to group the static libraries,
in case we need gcc flags "-Wl,--start-group" and "-Wl,--end-group" to
fix circular references.

Change-Id: I03c4901670112fcdd2bb0fe660b6924e5776fcf8
2011-04-25 14:22:41 -07:00
Bruce Beare
6ddd4ead92 x86: Disable stack-protector until bionic is fixed
Change-Id: I2862de5c1b02490197704f4578a8a91d0565eef0
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-04-01 09:09:18 -07:00
Raphael
2396a0db92 resolved conflicts for merge of 9b4660a1 to master
Change-Id: Ide155e276c6e994ad330a5ac1c2676a7acc1efed
2011-03-25 16:21:38 -07:00
Raphael
9b4660a1c6 resolved conflicts for merge of db0d59d1 to honeycomb-plus-aosp
Change-Id: Ie3f5b2986bc926407a7883b449441cb58ab70e30
2011-03-25 15:13:55 -07:00
Iliyan Malchev
0cafe839e0 build: pass --strip-all, not --strip-debug to strip
Option --strip-all will remove the static symbol section in addition to debug
symbols.  We do not need the static symbol table in libraries installed on the
target.

Change-Id: I7a52d22f5b45aa727f31bfd9af796b289528caef
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-03-17 10:09:59 -07:00
Bruce Beare
2e8283d9bc x86: the -mbionic flag is needed for IA builds.
Change-Id: I00c75f37d7ea46b9f8ad3d7b2ff7094477ff0916
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-03-15 07:47:49 -07:00
David 'Digit' Turner
8c675d2293 am 16e7050c: am e9b1d0ee: am f8f95fc8: Merge "Allow win_sdk build with USE_CCACHE=1"
* commit '16e7050cbaa292c0f36275cdb4c56f357cbfa79a':
  Allow win_sdk build with USE_CCACHE=1
2011-03-15 04:13:24 -07:00
David 'Digit' Turner
16e7050cba am e9b1d0ee: am f8f95fc8: Merge "Allow win_sdk build with USE_CCACHE=1"
* commit 'e9b1d0eee715895f156c8e2601d5b1996919da6d':
  Allow win_sdk build with USE_CCACHE=1
2011-03-15 04:09:34 -07:00
David 'Digit' Turner
55aad08663 Allow win_sdk build with USE_CCACHE=1
This patch allows the Window sdk build (lunch sdk-eng; make win_sdk)
to work properly when USE_CCACHE is defined in the environment.

There is no Windows ccache prebuilt, but since we're cross-compiling
from Linux, detect it and use the linux prebuilt binary instead.

Note: Depends on https://review.source.android.com//#change,21755
      for a complete solution to the problem.

Change-Id: I0b1b59efae86ee7114225258c9ecf9f257913347
2011-03-15 01:01:32 +01:00
Iliyan Malchev
b375e71d30 build: remove prelinker build build system
This patch removes support for prelinking from the build system.  By now, the
prelinker has outlived its usefulness for several reasons.  Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote.  Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either.  Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization.  Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.

The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree.  It also removes the prelink map.

LOCAL_PRELINK_MODULE becomes a no-op.  Individual Android.mk will get cleaned
separately.  Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.

Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
2011-03-12 14:59:46 -08:00
David Turner
1c908fa188 am b9c627c6: am 0683a773: Merge "x86: Use GCC 4.4.3"
* commit 'b9c627c6a0c6f0af57d0912175bfc739b0eb6249':
  x86: Use GCC 4.4.3
2011-03-07 13:45:59 -08:00
Bruce Beare
a17b91faa4 x86: Use GCC 4.4.3
Change-Id: I083c1afcbb98cfeb48d7bcb7681e5c34db52e767
Author:    H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-03-01 13:04:24 -08:00
Jeff Brown
bd528a82a2 Build system tweaks for Valgrind.
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.

Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused.  (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)

Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
2011-02-16 15:06:30 -08:00
Ben Cheng
5116e50705 Remove usused workaround.
Change-Id: I1d42d0f0dee361b98403bc87296dcbc37484ebcb
2011-02-16 12:48:38 -08:00