diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-12-22 16:32:37 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-12-22 16:32:37 +0000 |
commit | 3664564395ede7681fac8888a213ce3bf947bbb3 (patch) | |
tree | 0d8772d316a2c00e539e0f42b9e876ba3d05f5d5 /lib/MC/MachObjectWriter.cpp | |
parent | 294e67861c9a497f4b7529a410d8817d36354d5a (diff) |
MC/Mach-O/ARM: Recognize generic _Data_N fixup kinds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122408 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MachObjectWriter.cpp')
-rw-r--r-- | lib/MC/MachObjectWriter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp index 93a3dcf8d9..2cfd10b4d5 100644 --- a/lib/MC/MachObjectWriter.cpp +++ b/lib/MC/MachObjectWriter.cpp @@ -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: |