std::vector<MachRelocationEntry> &Relocs) {
uint32_t Address = Fragment.getOffset() + Fixup.Offset;
unsigned IsPCRel = 0;
+ unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind);
unsigned Type = RIT_Vanilla;
// See <reloc.h>.
Value2 = SD->getFragment()->getAddress() + SD->getOffset();
}
- unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind);
-
// The value which goes in the fixup is current value of the expression.
Fixup.FixedValue = Value - Value2 + Target.getConstant();
if (isFixupKindPCRel(Fixup.Kind)) {
- Fixup.FixedValue -= Address + (1 << Log2Size);
+ Fixup.FixedValue -= Address;
IsPCRel = 1;
}
uint32_t Value = 0;
unsigned Index = 0;
unsigned IsPCRel = 0;
+ unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind);
unsigned IsExtern = 0;
unsigned Type = 0;
// The value which goes in the fixup is current value of the expression.
Fixup.FixedValue = Value + Target.getConstant();
- unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind);
-
if (isFixupKindPCRel(Fixup.Kind)) {
- Fixup.FixedValue -= Address + (1<<Log2Size);
+ Fixup.FixedValue -= Address;
IsPCRel = 1;
}