mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
4f066b6db8
with a debug build) with this buggy .indirect_symbol directive usage: % cat test.s x: .indirect_symbol _y The assertion is because it is trying to get the symbol index for the symbol _y when it is writing out the indirect symbol table. This line of code in MachObjectWriter::WriteObject() : Write32(Asm.getSymbolData(*it->Symbol).getIndex()); And while there is a symbol _y it does not have any getSymbolData set which is only done in MachObjectWriter::BindIndirectSymbols() for pointer sections or stub sections. I added a check and an error in there to catch this in case something slips through. But to get a better error the parser should detect when a .indirect_symbol directive is used and it is not in a pointer section or stub section. To make that work I moved the handling of the indirect symbol out of the target independent AsmParser code into the DarwinAsmParser code that can check for the proper Mach-O section types. rdar://14825505 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189497 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
MCDisassembler | ||
MCParser | ||
CMakeLists.txt | ||
ELFObjectWriter.cpp | ||
LLVMBuild.txt | ||
MachObjectWriter.cpp | ||
Makefile | ||
MCAsmBackend.cpp | ||
MCAsmInfo.cpp | ||
MCAsmInfoCOFF.cpp | ||
MCAsmInfoDarwin.cpp | ||
MCAsmStreamer.cpp | ||
MCAssembler.cpp | ||
MCAtom.cpp | ||
MCCodeEmitter.cpp | ||
MCCodeGenInfo.cpp | ||
MCContext.cpp | ||
MCDisassembler.cpp | ||
MCDwarf.cpp | ||
MCELF.cpp | ||
MCELFObjectTargetWriter.cpp | ||
MCELFStreamer.cpp | ||
MCExpr.cpp | ||
MCExternalSymbolizer.cpp | ||
MCFunction.cpp | ||
MCInst.cpp | ||
MCInstPrinter.cpp | ||
MCInstrAnalysis.cpp | ||
MCLabel.cpp | ||
MCMachObjectTargetWriter.cpp | ||
MCMachOStreamer.cpp | ||
MCModule.cpp | ||
MCModuleYAML.cpp | ||
MCNullStreamer.cpp | ||
MCObjectDisassembler.cpp | ||
MCObjectFileInfo.cpp | ||
MCObjectStreamer.cpp | ||
MCObjectSymbolizer.cpp | ||
MCObjectWriter.cpp | ||
MCPureStreamer.cpp | ||
MCRegisterInfo.cpp | ||
MCRelocationInfo.cpp | ||
MCSection.cpp | ||
MCSectionCOFF.cpp | ||
MCSectionELF.cpp | ||
MCSectionMachO.cpp | ||
MCStreamer.cpp | ||
MCSubtargetInfo.cpp | ||
MCSymbol.cpp | ||
MCSymbolizer.cpp | ||
MCValue.cpp | ||
MCWin64EH.cpp | ||
SubtargetFeature.cpp | ||
WinCOFFObjectWriter.cpp | ||
WinCOFFStreamer.cpp |