Two Squashed commits, from: 1)Qualcomm & 2)AOSP
1. Reduce incorrect PATHS & linker errors from msm clang, especially 3.5,
   by adding -no-canonical-prefixes to: TARGET_GLOBAL_LDFLAGS for msm-% clang,
   as well as addding the following AOSP commit which adds
   -no-canonical-prefixes to: TARGET_GLOBAL_CFLAGS, which are both taken directly
   from the Stock Released Qualcomm llvm/clang setup.mk files, which can both be seen here:
https://github.com/sudosurootdev/prebuilts_clang_linux-x86_host_msm-3.4/blob/stock/arm-linux-androideabi-snapdragonclang3.4/setup.mk
&
https://github.com/sudosurootdev/prebuilts_clang_linux-x86_host_msm-3.5/blob/stock/arm-linux-androideabi-snapdragonclang3.5/setup.mk

2. Disable canonical prefixes of system headers

GCC know a few pre-defined paths (relative to its location) to
search for headers, libraries, program, etc.  By default GCC prefixes
its own path(argv[0]) and calls realpath() which result in absolute
path with all symlink, . and .. removed.

It's usually good to have canonicalised paths, but absolute paths
in *.d file can cause unnecessary relinking when stale entries
in ccache cache hit

Add -no-canonical-prefixes (gcc>=4.6) and
-fno-canonical-system-headers (gcc>4.6) to disable realpath() on
prefixed paths

Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
Signed-off-by: sudosurootdev <sudosurootdev@gmail.com>
[WIP]: New changes needed for msm-3.5 clang

Change-Id: If41682c7265645056be757e58eb14b8707ce7438