mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
Better user diagnostics for more ARM MachO relocation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149102 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -137,7 +137,8 @@ RecordARMMovwMovtRelocation(MachObjectWriter *Writer,
|
|||||||
MCSymbolData *A_SD = &Asm.getSymbolData(*A);
|
MCSymbolData *A_SD = &Asm.getSymbolData(*A);
|
||||||
|
|
||||||
if (!A_SD->getFragment())
|
if (!A_SD->getFragment())
|
||||||
report_fatal_error("symbol '" + A->getName() +
|
Asm.getContext().FatalError(Fixup.getLoc(),
|
||||||
|
"symbol '" + A->getName() +
|
||||||
"' can not be undefined in a subtraction expression");
|
"' can not be undefined in a subtraction expression");
|
||||||
|
|
||||||
uint32_t Value = Writer->getSymbolAddress(A_SD, Layout);
|
uint32_t Value = Writer->getSymbolAddress(A_SD, Layout);
|
||||||
@ -150,7 +151,8 @@ RecordARMMovwMovtRelocation(MachObjectWriter *Writer,
|
|||||||
MCSymbolData *B_SD = &Asm.getSymbolData(B->getSymbol());
|
MCSymbolData *B_SD = &Asm.getSymbolData(B->getSymbol());
|
||||||
|
|
||||||
if (!B_SD->getFragment())
|
if (!B_SD->getFragment())
|
||||||
report_fatal_error("symbol '" + B->getSymbol().getName() +
|
Asm.getContext().FatalError(Fixup.getLoc(),
|
||||||
|
"symbol '" + B->getSymbol().getName() +
|
||||||
"' can not be undefined in a subtraction expression");
|
"' can not be undefined in a subtraction expression");
|
||||||
|
|
||||||
// Select the appropriate difference relocation type.
|
// Select the appropriate difference relocation type.
|
||||||
@ -241,7 +243,8 @@ void ARMMachObjectWriter::RecordARMScatteredRelocation(MachObjectWriter *Writer,
|
|||||||
MCSymbolData *A_SD = &Asm.getSymbolData(*A);
|
MCSymbolData *A_SD = &Asm.getSymbolData(*A);
|
||||||
|
|
||||||
if (!A_SD->getFragment())
|
if (!A_SD->getFragment())
|
||||||
report_fatal_error("symbol '" + A->getName() +
|
Asm.getContext().FatalError(Fixup.getLoc(),
|
||||||
|
"symbol '" + A->getName() +
|
||||||
"' can not be undefined in a subtraction expression");
|
"' can not be undefined in a subtraction expression");
|
||||||
|
|
||||||
uint32_t Value = Writer->getSymbolAddress(A_SD, Layout);
|
uint32_t Value = Writer->getSymbolAddress(A_SD, Layout);
|
||||||
@ -253,7 +256,8 @@ void ARMMachObjectWriter::RecordARMScatteredRelocation(MachObjectWriter *Writer,
|
|||||||
MCSymbolData *B_SD = &Asm.getSymbolData(B->getSymbol());
|
MCSymbolData *B_SD = &Asm.getSymbolData(B->getSymbol());
|
||||||
|
|
||||||
if (!B_SD->getFragment())
|
if (!B_SD->getFragment())
|
||||||
report_fatal_error("symbol '" + B->getSymbol().getName() +
|
Asm.getContext().FatalError(Fixup.getLoc(),
|
||||||
|
"symbol '" + B->getSymbol().getName() +
|
||||||
"' can not be undefined in a subtraction expression");
|
"' can not be undefined in a subtraction expression");
|
||||||
|
|
||||||
// Select the appropriate difference relocation type.
|
// Select the appropriate difference relocation type.
|
||||||
|
Reference in New Issue
Block a user