Index: llvm/lib/MC/MCFragment.cpp =================================================================== --- llvm/lib/MC/MCFragment.cpp +++ llvm/lib/MC/MCFragment.cpp @@ -128,7 +128,7 @@ const MCSymbolRefExpr *A = Target.getSymA(); if (A) { uint64_t ValA; - if (!getLabelOffset(Layout, A->getSymbol(), ReportError, ValA)) + if (!getSymbolOffsetImpl(Layout, A->getSymbol(), ReportError, ValA)) return false; Offset += ValA; } @@ -136,7 +136,7 @@ const MCSymbolRefExpr *B = Target.getSymB(); if (B) { uint64_t ValB; - if (!getLabelOffset(Layout, B->getSymbol(), ReportError, ValB)) + if (!getSymbolOffsetImpl(Layout, B->getSymbol(), ReportError, ValB)) return false; Offset -= ValB; } Index: llvm/test/MC/MachO/chained-alias-offset.s =================================================================== --- /dev/null +++ llvm/test/MC/MachO/chained-alias-offset.s @@ -0,0 +1,5 @@ +// RUN: llvm-mc -triple x86_64-apple-macos %s -filetype=obj -o - +l_a: +l_b = l_a + 1 +l_c = l_b + .long l_c