Fix header file references to the ::llvm::ELF namespace.

We have header files which define the namespace ::art::llvm
and if they are included before the header files fixed here,
references to llvm::ELF from ::art pick up ::art::llvm
instead of ::llvm and fail to find ELF, causing an error.
Therefore we add the leading "::".

Change-Id: Ib02c9317d39cde5331dd67463013643cbc79ee1f
Update ElfWriterMclinker for klp

(cherry picked from commit a6263af9aea65c65744bdd845fed68c4814e9514)

Change-Id: I3eb9fee8afb1ef12aae4c87770882afee637971d

Conflicts:
	runtime/Android.mk
Fix X86Mir2Lir::LoadBaseIndexedDisp causing SEGV

If you are loading an 'array' long/double value, the generated code
could cause a SEGV, because the destination for the first load is the
same as the index register.  The case for the base register being the
same as the destination was handled, but not the index register.

With this change, Calculator properly runs on the emulator.

Change-Id: Ib7e652938cdc9e127fb80ee2f541a4225a5e9ab7
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>