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
Fix regex for finding symbol data.

The new output of debuggerd removed a space between the #00 and the rest
of the line. The regex is very restrictive, so fixing it to handle the new
output.

Change-Id: I5259ae1e56a351608b330dfd858a2021e6d89358
Add an explicit definition of __ANDROID__=1

Once the aarch64 toolchain is refreshed this will be removed.
Also removed some CFLAG duplications.

Change-Id: I42fd86931263af82042ea696196fb25e948fe9cb
Merge "Add an explicit definition of __ANDROID__=1"
Merge "Fix regex for finding symbol data."
Merge "Enable NX protections"
enable PIE for dynamically linked Linux host executables

Compile all host programs for Android with -fPIE and -pie. This
enables PIE (Position Independent Executables), which helps
protect these applications from exploitation due to memory
management bugs.

Note: PIE *static* executables are not supported at this time. darwin
and windows are also not supported.

Change-Id: I67c1be297711ea23064c349f97ebd02eef3eff09
Merge "enable PIE for dynamically linked Linux host executables"
Enable uapi kernel headers for arm.

Bug: 11559337
Change-Id: Idd251338f707b7c6a08f43a79f9784c57142f43c
Merge "Enable uapi kernel headers for arm."
Revert "Enable uapi kernel headers for arm."

This reverts commit 88c6c533e17f7bc2e1491310b8d679a91b33aaeb.

Change-Id: I3cd84383c6f217bc6e627e16b2d0c7d948f8131d
Merge "Revert "Enable uapi kernel headers for arm.""
Re-enable uapi kernel headers for arm.

Bug: 11559337
Change-Id: Ib914e5f22b10d5a74edc357d42b0dcb223185ab4
Make aarch64 more like arm wrt strict-aliasing.

All thumb code compiles with -fno-strict-aliasing. Let's not make aarch64
porting any more difficult than it needs to be.

Change-Id: I94874df1217b69532c328d7c86c9961631ebde8a
Merge "Make aarch64 more like arm wrt strict-aliasing."
Add DEXPREOPT support for ART

Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
Merge "Re-enable uapi kernel headers for arm."
Merge "Add DEXPREOPT support for ART"
Create the dest dir before copying over files.

Change-Id: I8ad79704558d7a10099e64fc1d032c8ddd3330b9
Merge "Create the dest dir before copying over files."