summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MachObjectWriter.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-12-22 16:32:37 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-12-22 16:32:37 +0000
commita191cfd97e5852543a460c76e936559ea74db667 (patch)
tree695c4d579a38c59385289b63d75802118e688189 /llvm/lib/MC/MachObjectWriter.cpp
parent9ccf843a61bf7db4c57467c5c5761d66c1a87e52 (diff)
downloadbcm5719-llvm-a191cfd97e5852543a460c76e936559ea74db667.tar.gz
bcm5719-llvm-a191cfd97e5852543a460c76e936559ea74db667.zip
MC/Mach-O/ARM: Recognize generic _Data_N fixup kinds.
llvm-svn: 122408
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/MachObjectWriter.cpp16
1 files changed, 16 insertions, 0 deletions
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:
OpenPOWER on IntegriCloud