Update MCLinker to build against klp llvm

(cherry picked from commit cf66fdd07ab200410d3c49c77c0df6f3c6739982)

Change-Id: I8152d698e938914229e7932143bf18eed44740fa
Revert "Temporarily disable mclinker (since nothing depends on it)."

This reverts commit 89a5648fcb366adb25b75aa69a7ad9a34842dd17.

(cherry picked from commit a7ce95e7566f6b8889a12b090184d4796cc5907a)

Change-Id: Ie0a6145d97cc9aea786d1275fa93a29154b3aa68
Merge "Update MCLinker to build against klp llvm"
Merge "Revert "Temporarily disable mclinker (since nothing depends on it).""
mclinker: support multilib builds

Remove the $(TARGET_ARCH) checks to support multilib builds.

Change-Id: I8f42a5d085b9f38802ee4d6b65cd3ab9d324b1c7
Update MCLinker to work with LLVM 3.4.

This corresponds to merging upstream MCLinker with the following SHA:
6dcbf36cdb146d6f175ba2f18a9004753cafeaff

Change-Id: I1bc8c2ce4accc563450bc71ee295a6e47a0c0469
Merge "mclinker: support multilib builds"
am b3ee01ad: Merge "mclinker: support multilib builds"

* commit 'b3ee01ade7820351a29904d942b73ce83340f4f8':
  mclinker: support multilib builds
Update MCLinker to work with LLVM 3.4.

This corresponds to merging upstream MCLinker with the following SHA:
6dcbf36cdb146d6f175ba2f18a9004753cafeaff

Change-Id: I1bc8c2ce4accc563450bc71ee295a6e47a0c0469
Merge "Update MCLinker to work with LLVM 3.4."
am e5edf3ba: Merge "Update MCLinker to work with LLVM 3.4."

* commit 'e5edf3ba40f78c72419fd00757af58b09d2f98f6':
  Update MCLinker to work with LLVM 3.4.
Makefile changes to get mclinker to build again.

Change-Id: If30527709b564cc580289a9b878736bf118dc3e7
Merge "Makefile changes to get mclinker to build again."
am 516caa6c: Merge "Makefile changes to get mclinker to build again."

* commit '516caa6ca003b29c1dec67a07f3329f4e3ea6121':
  Makefile changes to get mclinker to build again.
Revert "Makefile changes to get mclinker to build again."

Include problems, that I locally had but that are not properly found.

This reverts commit 37c4f94e884191cd28520f09182400e0841d0772.

Change-Id: Ia37b28f99d0fcff0151f6ed80dca11c7a0c9419e
Merge "Revert "Makefile changes to get mclinker to build again.""
am fe41fd53: Merge "Revert "Makefile changes to get mclinker to build again.""

* commit 'fe41fd537b9ffa9fef4b975f6ad2333e1452122b':
  Revert "Makefile changes to get mclinker to build again."
Reapply: Makefile changes to get mclinker to build again.

Turns out, bison is pretty inflexible when a %includes file.h is in the
.yy file: it will always generate the code in the current directory. Since
the current directory in an Android build is not out/ we cannot assume we
have write access to that directory.

Therefore, the only option I could find was to change the ScriptParser.yy
file. Not ideal, since this is the only patch on upstream.

Change-Id: I9ee7f56d4f6900e1b566f4a36b31dddc8cb0848e
Merge "Reapply: Makefile changes to get mclinker to build again."
am d219db0b: Merge "Reapply: Makefile changes to get mclinker to build again."

* commit 'd219db0be93109d1851cc03eb972cdc42c83f0bb':
  Reapply: Makefile changes to get mclinker to build again.