Add support for ARM MOVW & MOVT relocations. These relocations are different than...
authorandrewfish <andrewfish@c2973edb-eda0-4c78-bc6a-9341b269661f>
Wed, 24 Mar 2010 17:29:20 +0000 (17:29 +0000)
committerandrewfish <andrewfish@c2973edb-eda0-4c78-bc6a-9341b269661f>
Wed, 24 Mar 2010 17:29:20 +0000 (17:29 +0000)
commit40fc919710ff6b0b20dadece27b80c89f0dfc6e3
treec5509018ab5b33ecb489c8c9ddeaa8f2748dfc69
parent6d0f3c276912746ff4aef0d88c3ab668cba943a4
Add support for ARM MOVW & MOVT relocations. These relocations are different than other relocations as each instruction only enocodes 1/2 of the 32-bit address so the MOVT that encodes the upper 16-bits requires Addend info in the relocation entry. This is done via Elf32_Rela in ELF by adding the Addend into the relocation data. Usually the Addend is read out of the instruction and the relocation entry points to the instruction. The PE/COFF spec is pending an update to describe ARM MOVW & MOVT relocation types.

git-svn-id: https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/trunk/BaseTools@1941 c2973edb-eda0-4c78-bc6a-9341b269661f
Source/C/Common/BasePeCoff.c
Source/C/Common/PeCoffLib.h
Source/C/Common/PeCoffLoaderEx.c
Source/C/GenFw/GenFw.c
Source/C/GenFw/elf_common.h
Source/C/Include/Common/BaseTypes.h
Source/C/Include/IndustryStandard/PeImage.h