Skip to content

Commit 4083440

Browse files
committed
Another use of getSymbolOffset.
llvm-svn: 121034
1 parent bff5d86 commit 4083440

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

llvm/lib/MC/MachObjectWriter.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -536,10 +536,14 @@ class MachObjectWriter : public MCObjectWriter {
536536
if (A_Base == B_Base && A_Base)
537537
report_fatal_error("unsupported relocation with identical base");
538538

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));
543547

544548
if (A_Base) {
545549
Index = A_Base->getIndex();

0 commit comments

Comments
 (0)