From a191cfd97e5852543a460c76e936559ea74db667 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Wed, 22 Dec 2010 16:32:37 +0000 Subject: MC/Mach-O/ARM: Recognize generic _Data_N fixup kinds. llvm-svn: 122408 --- llvm/lib/MC/MachObjectWriter.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'llvm/lib/MC/MachObjectWriter.cpp') diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp index 93a3dcf8d91..2cfd10b4d5e 100644 --- a/llvm/lib/MC/MachObjectWriter.cpp +++ b/llvm/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: -- cgit v1.2.3