[lld] r219178 - PE/COFF: add ARM NT reference kinds

Saleem Abdulrasool compnerd at compnerd.org
Mon Oct 6 18:12:08 PDT 2014


Author: compnerd
Date: Mon Oct  6 20:12:08 2014
New Revision: 219178

URL: http://llvm.org/viewvc/llvm-project?rev=219178&view=rev
Log:
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.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=219178&r1=219177&r2=219178&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Mon Oct  6 20:12:08 2014
@@ -1146,6 +1146,24 @@ const Registry::KindStrings kindStringsA
     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(PEC
                kindStringsI386);
   addKindTable(Reference::KindNamespace::COFF, Reference::KindArch::x86_64,
                kindStringsAMD64);
+  addKindTable(Reference::KindNamespace::COFF, Reference::KindArch::ARM,
+               kindStringsARMNT);
 }
 
 }





More information about the llvm-commits mailing list