OSDN Git Service

MC/Mach-O/ARM: Recognize generic _Data_N fixup kinds.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 22 Dec 2010 16:32:37 +0000 (16:32 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 22 Dec 2010 16:32:37 +0000 (16:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122408 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MachObjectWriter.cpp

index 93a3dcf..2cfd10b 100644 (file)
@@ -846,10 +846,26 @@ public:
 
   static bool getARMFixupKindMachOInfo(unsigned Kind, bool &Is24BitBranch,
                                        unsigned &Log2Size) {
+    Is24BitBranch = false;
+    Log2Size = ~0U;
+
     switch (Kind) {
     default:
       return false;
 
+    case FK_Data_1:
+      Log2Size = llvm::Log2_32(1);
+      return true;
+    case FK_Data_2:
+      Log2Size = llvm::Log2_32(2);
+      return true;
+    case FK_Data_4:
+      Log2Size = llvm::Log2_32(4);
+      return true;
+    case FK_Data_8:
+      Log2Size = llvm::Log2_32(8);
+      return true;
+
       // Handle 24-bit branch kinds.
     case ARM::fixup_arm_ldst_pcrel_12:
     case ARM::fixup_arm_pcrel_10: