MC/Mach-O/ARM: We always use the SECTDIFF reloc type on ARM, which is

esp. important given that the LOCAL_SECTDIFF enumeration got redefined.

llvm-svn: 122412
This commit is contained in:
Daniel Dunbar
2010-12-22 16:52:19 +00:00
parent 11617c8666
commit 45140d2efc
2 changed files with 73 additions and 23 deletions

View File

@@ -827,12 +827,7 @@ public:
"' can not be undefined in a subtraction expression");
// Select the appropriate difference relocation type.
//
// Note that there is no longer any semantic difference between these two
// relocation types from the linkers point of view, this is done solely
// for pedantic compatibility with 'as'.
Type = A_SD->isExternal() ? (unsigned)macho::RIT_Difference :
(unsigned)macho::RIT_Generic_LocalDifference;
Type = macho::RIT_Difference;
Value2 = getSymbolAddress(B_SD, Layout);
FixedValue -= getSectionAddress(B_SD->getFragment()->getParent());
}