llvm-6502/lib/MC
Kevin Enderby 38fdb7d9fc Various crash reporting tools have a problem with the dwarf generated for
assembly source when it generates the TAG_subprogram dwarf debug info for
the labels that have nothing between them as in this bit of assembly source:

% cat ZeroLength.s 
_func1:
_func2:
 nop

One solution would be to not emit the subsequent labels with the same address
and use the next label with a different address or the end of the section for
the AT_high_pc value of the TAG_subprogram.

Turns out in llvm-mc it is not possible in all cases to determine of two
symbols have the same value at the point we put out the TAG_subprogram dwarf
debug info.

So we will have llvm-mc instead of putting out TAG_subprogram's put out
DW_TAG_label's.  And the DW_TAG_label does not have a AT_high_pc value which
avoids the problem.

This commit is only the functional change to make the diffs clear as to what is
really being changed.  The next commit will be to clean up the names of such
things like MCGenDwarfSubprogramEntry to something like MCGenDwarfLabelEntry.

rdar://10666925


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147860 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-10 17:52:29 +00:00
..
MCDisassembler Remove unnecessary default cases in switches that cover all enum values. 2012-01-10 16:47:17 +00:00
MCParser Implement cfi_restore. Patch by Brian Anderson! 2011-12-29 21:43:03 +00:00
CMakeLists.txt Remove the logging streamer. 2012-01-10 00:40:39 +00:00
ELFObjectWriter.cpp Kill the monstrosity that was ELFObjectWriter.h. 2011-12-22 03:38:00 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
MachObjectWriter.cpp Darwin assembler improved relocs when w/o subsections_via_symbols. 2011-12-07 19:46:59 +00:00
Makefile
MCAsmBackend.cpp Section relative fixups are a coff concept, not a x86 one. Replace the 2011-12-24 14:47:52 +00:00
MCAsmInfo.cpp Emit the ctors in the proper order on ARM/EABI. 2011-12-03 23:49:37 +00:00
MCAsmInfoCOFF.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MCAsmInfoDarwin.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MCAsmStreamer.cpp Remove unnecessary default cases in switches that cover all enum values. 2012-01-10 16:47:17 +00:00
MCAssembler.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
MCAtom.cpp
MCCodeEmitter.cpp
MCCodeGenInfo.cpp
MCContext.cpp
MCDisassembler.cpp
MCDwarf.cpp Various crash reporting tools have a problem with the dwarf generated for 2012-01-10 17:52:29 +00:00
MCELF.cpp Add support for gnu_indirect_function. 2011-12-12 17:34:04 +00:00
MCELF.h
MCELFObjectTargetWriter.cpp Define trivial destructor inline. 2011-12-24 01:53:13 +00:00
MCELFStreamer.cpp Remove MCELFStreamer.h. 2012-01-07 23:18:39 +00:00
MCExpr.cpp Remove unnecessary default cases in switches that cover all enum values. 2012-01-10 16:47:17 +00:00
MCInst.cpp
MCInstPrinter.cpp
MCInstrAnalysis.cpp
MCLabel.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Remove unnecessary default cases in switches that cover all enum values. 2012-01-10 16:47:17 +00:00
MCModule.cpp
MCNullStreamer.cpp Split Finish into Finish and FinishImpl to have a common place to do end of 2012-01-07 03:13:18 +00:00
MCObjectFileInfo.cpp Emit the ctors in the proper order on ARM/EABI. 2011-12-03 23:49:37 +00:00
MCObjectStreamer.cpp Don't print an unused label before .cfi_endproc. 2012-01-09 00:17:29 +00:00
MCObjectWriter.cpp
MCPureStreamer.cpp Split Finish into Finish and FinishImpl to have a common place to do end of 2012-01-07 03:13:18 +00:00
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp
MCSectionMachO.cpp
MCStreamer.cpp Don't print an unused label before .cfi_endproc. 2012-01-09 00:17:29 +00:00
MCSubtargetInfo.cpp
MCSymbol.cpp
MCTargetAsmLexer.cpp
MCValue.cpp
MCWin64EH.cpp
SubtargetFeature.cpp
WinCOFFObjectWriter.cpp Move x86 specific bits of the COFF writer to lib/Target/X86. 2011-12-24 02:14:02 +00:00
WinCOFFStreamer.cpp Split Finish into Finish and FinishImpl to have a common place to do end of 2012-01-07 03:13:18 +00:00