Commit Graph

307 Commits

Author SHA1 Message Date
Andrew Hsieh
8725b941b0 Duplicate libgcc.a in front of *so
Also see 6c7bc550ad

Change-Id: Iade6cd6b40cd4840a148098e1d8fc7a0c97e2f66
2013-03-19 07:51:52 -07:00
Ben Cheng
6c7bc550ad Link libgcc.a before shared libraries (especially libc.so).
[cherry-picked from internal master]

Change-Id: I53d19754d0d40e9ca2f3d043001cc77e39e5d795
2013-03-18 14:00:44 -07:00
Ian Rogers
35a6b4fb65 Specify -msse3 on host as on target.
Make the host and the target x86 build more uniform by using the same machine flags.
Its unlikely Android has ever been built on a machine without SSE3 support.

Bug: 8068608
Change-Id: I19635528b61bf2c6faf02c2e575b1d9bf8025d3a
2013-02-26 15:10:22 -08:00
Chris Dearman
6cc0c334fc [MIPS] Update build rules
Add  -D_FORTIFY_SOURCE=1 to the default cflags
Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES
Use single dash version of -print-whatever
compile everything with relro / bind_now
Enable NX protections

Some other cleanups to reduce differences between ARM and MIPS config files

Change-Id: I30b4de449e6353b581ef7f9437a3bb9be53d5bbf
Signed-off-by: Chris Dearman <chris@mips.com>
2013-02-19 17:04:57 -08:00
Ying Wang
5e12e60b47 Merge "For the current MIPS compiler __builtin___clear_cache() generates synci instruction only with -msynci option So, add -msynci to all mips32r2 makefiles. Also add msynci to the list flags not recognized by clang." 2013-02-15 19:33:59 +00:00
Elliott Hughes
03d2aa4dd0 Remove more always-true ARCH_ARM_HAVE_ flags.
All the remaining flags appear to be actually used.

Change-Id: I0e3d84915487eda4f0e97809fc36624fef5f1848
2013-02-14 12:04:48 -08:00
Elliott Hughes
d0542498a0 Nothing uses ARCH_ARM_HAVE_CLZ or ARCH_ARM_HAVE_FFS.
Because every ARM architecture we've ever supported has had both.

Change-Id: I607b56416e65073c5ac1b85fb17c092516e02573
2013-02-13 16:44:21 -08:00
Raghu Gandham
695fee31ad For the current MIPS compiler __builtin___clear_cache() generates synci instruction only with -msynci option
So, add -msynci to all mips32r2 makefiles. Also add msynci to the list flags not recognized by clang.

Change-Id: I48fd6f2b0cbe80c3cd90f453ced97a2f154f7ad3
Signed-off-by: Rocky Zhang <yan@mips.com>
2013-02-07 16:07:01 -08:00
Elliott Hughes
2988a09f90 Remove HAVE_DLADDR from AndroidConfig.h.
Change-Id: I014ce98c61b12169e381b769af34b682df46087e
2013-01-25 15:57:40 -08:00
Andrew Hsieh
098a5968fa Switch to GCC 4.7 for X86 and MIPS
Change-Id: I1c2021a15f53e064baf69084894c114289ef7c54
2012-12-21 09:23:05 +08:00
Ben Cheng
914f7fd938 Enable lunch command to pick up new toolchain version.
Otherwise the previously exported value will be sticky and the value
defined in the TARGET makefile is ignored.

Change-Id: I13b9cca2d288f7ab09104c57e7cad9f23de2548a
2012-12-12 21:56:58 -08:00
Ben Cheng
5011dd80ee Refresh ARM toolchain to GCC 4.7 / binutils 2.22.
Change-Id: Id3689376ae4c4fc183569955b2ee98df5c069510
2012-12-11 16:41:01 -08:00
Ben Cheng
054ffd2e7c Define TARGET_GCC_VERSION in target specific make files.
So that GCC refresh can be performed in a target specific way.

Change-Id: I867e8b8fd671bef8c5af300e657a6da4fface032
2012-12-11 14:03:18 -08:00
Nick Kralevich
40febcad47 x86: enable FORTIFY_SOURCE
Enable FORTIFY_SOURCE for Android x86.  This adds certain security
protections to Android programs, checking for common programming
mistakes and buffer overflows.

FORTIFY_SOURCE protections have been enabled for ARM since
a46c480e43 (Jun 4th 2012)

Change-Id: Idae6f93d37ddae605088867cd3029f12632456e1
2012-12-07 17:20:28 -08:00
Ying Wang
eb98e08893 am 865d851a: Merge "Remove the obsolete comments and change the misleading var name."
* commit '865d851a8012e13c35d573d98770b7187d32b7f7':
  Remove the obsolete comments and change the misleading var name.
2012-11-12 14:45:59 -08:00
Ying Wang
85e8cda340 Remove the obsolete comments and change the misleading var name.
Change-Id: Ib19099cbce0133f5c7df44fa0fd80215809a1ad8
2012-11-12 14:31:20 -08:00
Andrew Hsieh
abfb25226a resolved conflicts for merge of 8b3ce5a3 to stage-aosp-master
Change-Id: I588a055812ddc8f4531c9d02994beb366f9aab3e
2012-11-12 12:50:03 -08:00
Andrew Hsieh
e2e28f6d02 Use prebuilt gcc for MacOSX
1. Use prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
   See https://android-review.googlesource.com/#/c/46223/
2. Rewrite logic dealing with mac_sdk_version to support all
   MacOSX SDK 10.6, 10.7 and 10.8.  Note that since
   ad2342375963c2468849c1f83a97158383db6511 emulator no longer
   depends on 10.6 to build.  Since the lowest SDK among intersection
   of the "available" and the "supported" SDKs is picked, add a
   new variable MAC_SDK_VERSION for developer really want to overwrite
   it.  MAC_SDK_VERSION still has to be one of the supported, though.
3. Improve mac_sdk_path detection to deal with case where Xcode
   *dmg is mounted only, not installed at /Applications.
4. Now we can retire BUILD_MAC_SDK_EXPERIMENTAL

Change-Id: I83e463556a857d527710f766de0e19e1b576151f
2012-11-12 10:44:52 -08:00
Elliott Hughes
d125adca42 am ef9744f7: Merge "Remove manual WITH_JIT setting from build/."
* commit 'ef9744f7ee4fd2315f41c58ba48906d9d79363dd':
  Remove manual WITH_JIT setting from build/.
2012-11-07 18:31:35 -08:00
Elliott Hughes
07a6db8733 Remove manual WITH_JIT setting from build/.
This is now done automatically by dalvik/, since
patch 272a54f8553e13b87bf819542ddc6701fc1232cc.

Change-Id: I57709538f20188417c014630442e897401d7ace0
2012-11-06 16:41:52 -08:00
Andrew Hsieh
267b07b2aa am 7176e801: Merge "Add TARGET_GCC_VERSION"
* commit '7176e8013bb2e563c3e3e56af4c04c50de3a7f37':
  Add TARGET_GCC_VERSION
2012-10-23 17:15:01 -07:00
Andrew Hsieh
06b63baedc Add TARGET_GCC_VERSION
Default to 4.6, but can overwritten to something else in
prebuilts/gcc/$os/$arch/$arch-linux-android*-$ver

Change-Id: I16f99d642b8ff8e831d392261a0c536041107051
2012-10-23 12:06:01 +08:00
Nick Kralevich
7c56556d18 am d883749e: Merge "x86: add --warn-shared-textrel"
* commit 'd883749e600a34b5eb4db542d24946b25aa5c9fb':
  x86: add --warn-shared-textrel
2012-10-22 11:04:24 -07:00
Nick Kralevich
4f2f16da14 x86: 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)

Change-Id: I2d169c7ce3600d02e25591f3ec15aba363730298
References: http://www.akkadia.org/drepper/textrelocs.html
2012-10-19 13:36:49 -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
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
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
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