PE/COFF: add ARM NT reference kinds

Teach the reader about ARM NT relocation types.  Although the writer cannot yet
perform the actual application of these relocations, the reader can at least now
identify the relocation types.

llvm-svn: 219178
This commit is contained in:
Saleem Abdulrasool 2014-10-07 01:12:08 +00:00
parent 93aec71ba9
commit 3ff2064241
1 changed files with 20 additions and 0 deletions

View File

@ -1146,6 +1146,24 @@ const Registry::KindStrings kindStringsAMD64[] = {
LLD_KIND_STRING_ENTRY(IMAGE_REL_AMD64_SSPAN32),
LLD_KIND_STRING_END};
const Registry::KindStrings kindStringsARMNT[] = {
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_ABSOLUTE),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_ADDR32),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_ADDR32NB),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BRANCH24),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BRANCH11),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_TOKEN),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BLX24),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BLX11),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_SECTION),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_SECREL),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_MOV32A),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_MOV32T),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BRANCH20T),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BRANCH24T),
LLD_KIND_STRING_ENTRY(IMAGE_REL_ARM_BLX23T),
};
} // end namespace anonymous
namespace lld {
@ -1156,6 +1174,8 @@ void Registry::addSupportCOFFObjects(PECOFFLinkingContext &ctx) {
kindStringsI386);
addKindTable(Reference::KindNamespace::COFF, Reference::KindArch::x86_64,
kindStringsAMD64);
addKindTable(Reference::KindNamespace::COFF, Reference::KindArch::ARM,
kindStringsARMNT);
}
}