[Mips] Add comments to the relocation calculation functions
authorSimon Atanasyan <simon@atanasyan.com>
Thu, 19 Mar 2015 20:56:34 +0000 (20:56 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Thu, 19 Mar 2015 20:56:34 +0000 (20:56 +0000)
No functional changes.

llvm-svn: 232761

lld/lib/ReaderWriter/ELF/Mips/MipsRelocationHandler.cpp

index a28c013..d59ec98 100644 (file)
@@ -205,6 +205,7 @@ static uint32_t relocLo16(uint64_t P, uint64_t S, int64_t AHL, bool isGPDisp,
   return result;
 }
 
+/// \brief R_MIPS_PCLO16
 /// local/external: lo16 (S + AHL - P)
 static uint32_t relocPcLo16(uint64_t P, uint64_t S, int64_t AHL) {
   AHL = llvm::SignExtend32<16>(AHL);
@@ -244,14 +245,16 @@ static uint32_t relocGPRel32(uint64_t S, int64_t A, uint64_t GP) {
 }
 
 /// \brief R_MIPS_PC18_S3
+/// local/external: (S + A - P) >> 3 (P with cleared 3 less significant bits)
 static uint32_t relocPc18(uint64_t P, uint64_t S, int64_t A) {
   A = llvm::SignExtend32<21>(A);
   // FIXME (simon): Check that S + A has 8-byte alignment
-  int32_t result = S + A - ((P | 7) ^ 7); // pc with cleared 3-lsb
+  int32_t result = S + A - ((P | 7) ^ 7);
   return result >> 3;
 }
 
 /// \brief R_MIPS_PC19_S2
+/// local/external: (S + A - P) >> 2
 static uint32_t relocPc19(uint64_t P, uint64_t S, int64_t A) {
   A = llvm::SignExtend32<21>(A);
   // FIXME (simon): Check that S + A has 4-byte alignment
@@ -260,6 +263,7 @@ static uint32_t relocPc19(uint64_t P, uint64_t S, int64_t A) {
 }
 
 /// \brief R_MIPS_PC21_S2
+/// local/external: (S + A - P) >> 2
 static uint32_t relocPc21(uint64_t P, uint64_t S, int64_t A) {
   A = llvm::SignExtend32<23>(A);
   // FIXME (simon): Check that S + A has 4-byte alignment
@@ -268,6 +272,7 @@ static uint32_t relocPc21(uint64_t P, uint64_t S, int64_t A) {
 }
 
 /// \brief R_MIPS_PC26_S2
+/// local/external: (S + A - P) >> 2
 static uint32_t relocPc26(uint64_t P, uint64_t S, int64_t A) {
   A = llvm::SignExtend32<28>(A);
   // FIXME (simon): Check that S + A has 4-byte alignment