llvm-6502/test/MC/MachO
Kevin Enderby 4f066b6db8 The integrated darwin assembler can hang in an infinite loop (or get an assert
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
2013-08-28 17:50:59 +00:00
..
ARM [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
absolute.s Assembler: Darwin variables defined via .set are no-dead-strip. 2012-09-13 23:11:31 +00:00
absolutize.s
bad-darwin-x86_64-diff-relocs.s Fix a crash with X86 Mach-O and a subtraction expression where both symbols are 2013-08-12 22:45:44 +00:00
bad-dollar.s Have the integrated assembler give an error if $1 is used as an identifier in 2013-01-22 21:09:20 +00:00
bad-indirect-symbols.s The integrated darwin assembler can hang in an infinite loop (or get an assert 2013-08-28 17:50:59 +00:00
bad-macro.s Add a warning when there is a macro defintion that has named parameters but 2013-01-22 21:44:53 +00:00
comm-1.s
darwin-complex-difference.s
darwin-x86_64-diff-reloc-assign.s
darwin-x86_64-diff-relocs.s
darwin-x86_64-nobase-relocs.s
darwin-x86_64-reloc-offsets.s
darwin-x86_64-reloc.s
data.s
debug_frame.s
diff-with-two-sections.s
direction_labels.s Revert r15266. This fixes llvm.org/pr15266. 2013-02-14 16:23:08 +00:00
empty-dwarf-lines.s
file.s
gen-dwarf-cpp.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
gen-dwarf-macro-cpp.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
gen-dwarf-producer.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
gen-dwarf.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
i386-large-relocations.s X86_32: Large Symbol+Offset relocations. 2012-09-26 21:27:45 +00:00
indirect-symbols.s
jcc.s
lcomm-attributes.s
linker-option-1.s [MC/Mach-O] Add AsmParser support for .linker_option directive. 2013-01-18 01:25:48 +00:00
linker-option-2.s [MC/Mach-O] Add support for linker options in Mach-O files. 2013-01-18 01:26:07 +00:00
linker-options.ll [MC/Mach-O] Load commands are supposed to 8-byte aligned on 64-bit. 2013-01-22 03:42:49 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
loc.s
pcrel-to-other-section.s
previous.s Add .pushsection', .popsection', and `.previous' directives to Darwin ASM. 2012-08-08 06:30:30 +00:00
pushsection.s Add .pushsection', .popsection', and `.previous' directives to Darwin ASM. 2012-08-08 06:30:30 +00:00
relax-jumps.s
relax-recompute-align.s
reloc-diff.s
reloc-pcrel-offset.s
reloc-pcrel.s
reloc.s
section-align-1.s
section-align-2.s
section-attributes.s
section-flags.s
string-table.s
symbol-diff.s
symbol-flags.s
symbol-indirect.s
symbols-1.s
tbss.s
tdata.s
temp-labels.s
thread_init_func.s
tls.s
tlv-bss.ll Using the integrated assembler we'd fail to change section to the 2013-08-07 21:13:06 +00:00
tlv-reloc.s
tlv.s
values.s
variable-errors.s
variable-exprs.s
weakdef.s
x86_32-optimal_nop.s
x86_32-sections.s
x86_32-symbols.s
x86_64-reloc-arithmetic.s
x86_64-sections.s
x86_64-symbols.s
x86-data-in-code.ll MachO: direct-to-object attribute for data-in-code markers. 2012-10-01 22:20:54 +00:00
zerofill-1.s
zerofill-2.s
zerofill-3.s
zerofill-4.s
zerofill-5.s
zerofill-sect-align.s