Commit graph

332 commits

Author SHA1 Message Date
Ian Rogers
25ba3b0975 am e2f7bd46: am c148cca6: Merge "Specify -msse3 on host as on target."
* commit 'e2f7bd46fc7b9aa746ae46e551727c4db0356d37':
  Specify -msse3 on host as on target.
2013-02-27 19:03:54 +00: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
Ying Wang
00b2811e66 resolved conflicts for merge of 40ab92d0 to master
Change-Id: I400c1655c57237687a21a017b9c2065d166e3097
2013-02-22 11:02:03 -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
5938039677 am 7ce7473f: am 5e12e60b: 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."
* commit '7ce7473f866fc5356291f38a3437a071ea5fd00d':
  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 14:48:01 -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
b2bbff7cba am ea852f6e: am f6b670b7: Merge "Remove more always-true ARCH_ARM_HAVE_ flags."
# Via Android Git Automerger (1) and others
* commit 'ea852f6ed3e9f251eaef4f041fbc0b09229ac924':
  Remove more always-true ARCH_ARM_HAVE_ flags.
2013-02-14 17:31:40 -08: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
14a2d978df am d0fb6930: am 07a58f8f: Merge "Nothing uses ARCH_ARM_HAVE_CLZ or ARCH_ARM_HAVE_FFS."
# Via Android Git Automerger (1) and others
* commit 'd0fb693024b88a713fe95296db451a0e6c17ec66':
  Nothing uses ARCH_ARM_HAVE_CLZ or ARCH_ARM_HAVE_FFS.
2013-02-13 17:11:36 -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
Ying Wang
79e3f77996 Allow user to override the linux host toolchain.
Bug: 8181840
Change-Id: Ib2a90d33414758e95b1a3c60db62c4188944dfdd
2013-02-12 11:48:37 -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
Ying Wang
b6457c223b Don't fall back to host $(CC) if the target gcc is not checked out
Error "cc1plus: error: unrecognized command line option
‘-mfloat-abi=softfp’" is much more confusing than
"...gcc: No such file or directory".
Also we don't build in Windows/Cygwin any more so we don't need the old
trick.

Change-Id: Ibbe3da67b412575e56bd6e61ef412ea5b2789fea
2013-01-30 10:33:27 -08:00
Elliott Hughes
f689e21be2 am 5fb282d8: am 6463953e: am b796ce35: Merge "Remove HAVE_DLADDR from AndroidConfig.h."
# Via Android Git Automerger (2) and others
* commit '5fb282d89d00504772753acf1af63c5b422d21e2':
  Remove HAVE_DLADDR from AndroidConfig.h.
2013-01-29 13:52:05 -08:00
Elliott Hughes
2988a09f90 Remove HAVE_DLADDR from AndroidConfig.h.
Change-Id: I014ce98c61b12169e381b769af34b682df46087e
2013-01-25 15:57:40 -08:00
Ben Cheng
533aa2707e Use -mcpu=cortex-a15 for gcc arch dependent compilation.
If TARGET_CPU_VARIANT=cortex-a15 is specified in the BoardConfig.mk file.

Bug: 7961327
Change-Id: Ic459df378293237c54263f5315ac3be62dad4273
2013-01-14 14:37:44 -08:00
Andrew Hsieh
0b676b353a am dd319cef: am 26f47aba: Merge "Switch to GCC 4.7 for X86 and MIPS"
* commit 'dd319cef3f0e351f0b1621167b22eb39e86b27ad':
  Switch to GCC 4.7 for X86 and MIPS
2012-12-28 09:47:53 -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
9c68f06a54 Merge commit 'ec4caba7' into manualmerge
Conflicts:
	CleanSpec.mk

Change-Id: Idd8f8f4a896b47bd6275daeb71a24a317da4c98a
2012-12-13 11:03:58 -08:00
Ben Cheng
ec4caba79c 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: Icdacb8c46034b8a24a9875b7596b31d00861512a
2012-12-13 10:43:55 -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
02d29216c9 am b3a68f6e: am 62f1d86e: Merge "Define TARGET_GCC_VERSION in target specific make files."
* commit 'b3a68f6e002cdbc946d08a76656067d63542a98a':
  Define TARGET_GCC_VERSION in target specific make files.
2012-12-11 16:53:05 -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
b3f0eb16b2 am 7cd20491: am a303510f: Merge "x86: enable FORTIFY_SOURCE"
* commit '7cd204914ef59c4ce96210539489ec3e76942bb4':
  x86: enable FORTIFY_SOURCE
2012-12-11 10:35:17 -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
3482e9256b am eb98e088: am 865d851a: Merge "Remove the obsolete comments and change the misleading var name."
* commit 'eb98e088937c4568f75d965dee1ef8d5c6689213':
  Remove the obsolete comments and change the misleading var name.
2012-11-12 14:50:44 -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
e4041746d3 am abfb2522: resolved conflicts for merge of 8b3ce5a3 to stage-aosp-master
* commit 'abfb25226aabdbda7f8900e923754beb7f8cb94d':
  Use prebuilt gcc for MacOSX
2012-11-12 13:38:21 -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
334423b749 am d125adca: am ef9744f7: Merge "Remove manual WITH_JIT setting from build/."
* commit 'd125adca42283777f08abae3171623048fa94b8a':
  Remove manual WITH_JIT setting from build/.
2012-11-07 18:36:33 -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
a5b28e2d92 am 267b07b2: am 7176e801: Merge "Add TARGET_GCC_VERSION"
* commit '267b07b2aafede64d212402c3554fc2888821c98':
  Add TARGET_GCC_VERSION
2012-10-23 17:29:45 -07: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
24903f02c8 am 7c56556d: am d883749e: Merge "x86: add --warn-shared-textrel"
* commit '7c56556d183c7103bdd58884071fdb134eb82956':
  x86: add --warn-shared-textrel
2012-10-22 11:06:18 -07: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
Nick Kralevich
077007e872 arm: turn on -Wl,--fatal-warnings
Third time's the charm.  :-)

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 942167dab8.

Change-Id: I578701692ead7e7cd60d73d2070a5bed366e2c6c
2012-10-19 08:40:56 -07:00
Nick Kralevich
942167dab8 Revert "arm: turn on -Wl,--fatal-warnings"
This reverts commit 3ab011bccd.
2012-10-18 14:03:49 -07:00
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