mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-28 07:05:03 +00:00
8c6ed05157
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(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Makefile | ||
MCAsmInfo.cpp | ||
MCAsmInfoCOFF.cpp | ||
MCAsmInfoDarwin.cpp | ||
MCAsmLexer.cpp | ||
MCAsmParser.cpp | ||
MCAsmStreamer.cpp | ||
MCAssembler.cpp | ||
MCCodeEmitter.cpp | ||
MCContext.cpp | ||
MCDisassembler.cpp | ||
MCExpr.cpp | ||
MCInst.cpp | ||
MCInstPrinter.cpp | ||
MCMachOStreamer.cpp | ||
MCNullStreamer.cpp | ||
MCSection.cpp | ||
MCSectionELF.cpp | ||
MCSectionMachO.cpp | ||
MCStreamer.cpp | ||
MCSymbol.cpp | ||
MCValue.cpp | ||
TargetAsmParser.cpp |