mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
7b52d90c9e
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); llvm-svn: 81991 |
||
---|---|---|
.. | ||
MCAsmInfo.h | ||
MCAsmInfoCOFF.h | ||
MCAsmInfoDarwin.h | ||
MCAsmLexer.h | ||
MCAsmParser.h | ||
MCAssembler.h | ||
MCCodeEmitter.h | ||
MCContext.h | ||
MCDisassembler.h | ||
MCExpr.h | ||
MCInst.h | ||
MCInstPrinter.h | ||
MCSection.h | ||
MCSectionELF.h | ||
MCSectionMachO.h | ||
MCStreamer.h | ||
MCSymbol.h | ||
MCValue.h | ||
SectionKind.h |