MC/Mach-O/ARM: Don't try to use scattered relocs for BR24 fixups.
llvm-svn: 122441
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index 13474277..5c4d6f2 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -962,7 +962,7 @@
//
// Is this right for ARM?
uint32_t Offset = Target.getConstant();
- if (IsPCRel)
+ if (IsPCRel && !Is24BitBranch)
Offset += 1 << Log2Size;
if (Offset && SD && !doesSymbolRequireExternRelocation(SD))
return RecordARMScatteredRelocation(Asm, Layout, Fragment, Fixup,