Run ar in Deterministic mode.

Unfortunately no such flag was found for the host ar on Mac OS X.
https://code.google.com/p/android/issues/detail?id=60705

Change-Id: Ic2f75c871f0b5ae3cf20c1255458f7b921054d67
Enable NX protections

Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling host-side applications.  This enables
NX protections, which prevent code from executing on the
stack or heap.  NX protections make exploiting memory
corruption issues more challenging and is an important
security feature.

Change-Id: Iae580abe887e01f9029ec2a4e0fc0aae496724a4
Add support for instruction set features

This adds the --instruction-set-features= arguments to the dex2oat
commands for the system images.  The feature set is determined at
build time

(cherry picked from commit 4145a2a20a0f275fe4c77e39d507cd5f8eb7a73b)

(cherry picked from commit 5174bb052986e9d90b597824a7e7b9ee2dfc8668)

Change-Id: I45af3b59752a48897bff2dd468b74f3ea73000be
Add DEXPREOPT support for ART

Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
PRODUCT_BOOT_JARS as a list of jar names separated by space

This makes it easier for OEMs to extend the PRODUCT_BOOT_JARS in their
product configuration files.

Change-Id: I5feca2f808b1914c275f28c7a4c38cca2ba6851f
Install 64-bit libraries to /system/lib64.

/system/lib always contains 32-bit libraries, and /system/lib64 (if
present) always contains 64-bit libraries.
Move things around a little bit, so TARGET_ARCH can be used to define
the build paths.

Bug: 11654773
Change-Id: I2891b9b6d6a7a528b5a8dc65f8070b86cf62512d
Revert "Remove this to clear up lunch menu"

This reverts commit caf048a9864f4c8de78118bb8714d00a8f4b0705.

Change-Id: I8a7c87360b675f85479dc09df22d4e49af0ab0fa
Signed-off-by: Hieu Phan <aznrice2k4@gmail.com>
x86_64: Adding new target

Add x86_64 Android builds. Compiler is expected to be able to understand
-m64 code generation option.

Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
FDO: support linux-x86 target

Change-Id: I4a3a1d298176da109df316cf9128f19e77490bc9
Support gdb wrappers

Use gdbwrapper() for launching gdb.  This can be redefined to launch
one of the many gdb wrappers instead.

Example:
function gdbwrapper()
{
    ddd --debugger $ANDROID_TOOLCHAIN/$GDB -x "$@"
}

Change-Id: I3cce8a2ca1bae6d531e2388a93cb52075b21a42c
Prepare upcoming GCC 4.8 release.

o Add -Wno-unused-parameter -Wno-unused-but-set-parameter to suppress
  new warnings.
o Define GCC_COLORS to enable colorful diagnostic messages.

Change-Id: Icbd62300b0e6f39d4e514edec2431a06b4d72421
(cherry picked from internal commit ccd8e6082b5b1e519a75068fa6c887a1a85b53c4)
Add 64-bit gdbclients.

This patch adds gdbclient combo for arm64, mips64, and x86_64.

Change-Id: I659b662276c93e5cce92aadc203a4bc111f5c2af
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>