Allow disabling PIE for dynamically linked executables

arm: Allow disabling PIE for dynamically linked executables

PIE can and does break some binaries that were built without it,
resulting in relocation-related issues (addressing memory
wrongly assumed to be at a fixed position).

Use this as a last resort measure for compatibility with pre-JB
binary blobs, and only if confirmed to fix a broken executable.
If you're not sure, do NOT enable this on a device.

Change-Id: I3b7001e682a6f7a845e62278fe2afa9ccf5552a4

arm: Drop linker script when building without PIE

The current section headers generated by bionic are incompatible
with this (interp is in, ctors were dropped, and other tiny changes
related to Elf32_Dyn). But... we don't actually need this to
disable PIE, so drop it entirely instead of writing a new one.

Change-Id: I3b350a9f6251e60bf52114343d190f3d6d83b216
build: update qcom_utils.mk

This is a combination of 2 commits.

commit 65849f502ad3e16f6916ddc640d4305c36b7bebc
Author: Jake Weinstein <xboxfanj@msn.com>
Date:   Sat Sep 14 13:10:43 2013 -0500

    Build: update qcom_utils.mk

    Add build macro to determine Android Release

    Adding platform sdk version 18 for JB MR2.

    Change-Id: I79aa831ddd335bd14bd777506c210acc5d9960f1

commit 677d8efcb831b4b29c5bb5123897943870a55627
Author: andrew.boren <andrew.boren@gmail.com>
Date:   Sat May 18 22:15:13 2013 -0700

    qcom_utils: Add qsd8k to qcom platforms

    PS2: fix typo

    Change-Id: Id85569d1dd7be2f4c0620827da6d89e63b658aa9

Change-Id: I58d70c079c6ec2c76ab7fc169664f1e4c55fb552
kernel.mk: Use standard toolchain paths

Change-Id: I1225fd05dcedcff03a1cf1102841cbd010b609cf
build: recovery: don't remove init.*.rc

Change-Id: Ic1e14e1e82cb28106da5b39f530e0b667377840d
core: Support GNU make 4.0 and any future releases

http://lists.gnu.org/archive/html/make-w32/2013-10/msg00021.html

Change-Id: Iaf6aa32e64269bf0368c20b0393e3fcfa540558d
Allow override of device asserts, including multi-device support

Set in board file with TARGET_OTA_ASSERT_DEVICE.
(cherry-picked from commit 0f452f21fc9323b9d1fe746161761cf40aaa5030)

Change-Id: Icd10de924f2b88168912c9575174cebf6b0104ba
Fix building custom recovery with userdebug

Credit Koushik Dutta

Change-Id: I41f1a91849f3aab435a3398696149afce68d8708