File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -536,10 +536,14 @@ class MachObjectWriter : public MCObjectWriter {
536
536
if (A_Base == B_Base && A_Base)
537
537
report_fatal_error (" unsupported relocation with identical base" );
538
538
539
- Value += Layout.getSymbolAddress (&A_SD) -
540
- (A_Base == NULL ? 0 : Layout.getSymbolAddress (A_Base));
541
- Value -= Layout.getSymbolAddress (&B_SD) -
542
- (B_Base == NULL ? 0 : Layout.getSymbolAddress (B_Base));
539
+ assert ((A_Base == NULL ) == (B_Base == NULL ));
540
+ assert (A_SD.getFragment ()->getParent () ==
541
+ B_SD.getFragment ()->getParent ());
542
+
543
+ Value += Layout.getSymbolOffset (&A_SD) -
544
+ (A_Base == NULL ? 0 : Layout.getSymbolOffset (A_Base));
545
+ Value -= Layout.getSymbolOffset (&B_SD) -
546
+ (B_Base == NULL ? 0 : Layout.getSymbolOffset (B_Base));
543
547
544
548
if (A_Base) {
545
549
Index = A_Base->getIndex ();
You can’t perform that action at this time.
0 commit comments