llvm-6502/test/MC/ARM
Logan Chien 575c4addce ARM: Resolve thumb_bl fixup in same MCFragment.
In Thumb1 mode, bl instruction might be selected for branches between
basic blocks in the function if the offset is greater than 2KB.
However, this might cause SEGV because the destination symbol
is not marked as thumb function and the execution mode will be reset
to ARM mode.

Since we are sure that these symbols are in the same data fragment, we
can simply resolve these local symbols, and don't emit any relocation
information for this bl instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200842 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-05 14:15:16 +00:00
..
AlignedBundling
2010-11-30-reloc-movt.s
2013-03-18-Br-to-label-named-like-reg.s
align_arm_2_thumb.s
align_thumb_2_arm.s
arm_addrmode2.s
arm_addrmode3.s
arm_fixups.s
arm_instructions.s
arm_word_directive.s
arm-aliases.s
arm-arithmetic-aliases.s
arm-elf-symver.s
arm-it-block.s
arm-ldrd.s
arm-memory-instructions.s
arm-qualifier-diagnostics.s
arm-shift-encoding.s
arm-thumb-cpus-default.s
arm-thumb-cpus.s
arm-thumb-trustzone.s
arm-trustzone.s
basic-arm-instructions-v8.s
basic-arm-instructions.s
basic-thumb2-instructions-v8.s
basic-thumb2-instructions.s
basic-thumb-instructions.s
bkpt.s
bracket-darwin.s
bracket-exprs.s
comment.s
complex-operands.s
crc32-thumb.s
crc32.s
cxx-global-constructor.ll
data-in-code.ll
deprecated-v8.s
diagnostics-noneon.s
diagnostics.s
directive-arch-armv2.s
directive-arch-armv2a.s
directive-arch-armv3.s
directive-arch-armv3m.s
directive-arch-armv4.s
directive-arch-armv4t.s
directive-arch-armv5.s
directive-arch-armv5t.s
directive-arch-armv5te.s
directive-arch-armv6-m.s
directive-arch-armv6.s
directive-arch-armv6j.s
directive-arch-armv6t2.s
directive-arch-armv6z.s
directive-arch-armv6zk.s
directive-arch-armv7-a.s
directive-arch-armv7-m.s
directive-arch-armv7-r.s
directive-arch-armv7.s
directive-arch-armv7a.s
directive-arch-armv7m.s
directive-arch-armv7r.s
directive-arch-armv8-a.s
directive-arch-armv8a.s
directive-arch-iwmmxt2.s
directive-arch-iwmmxt.s
directive-cpu.s
directive-eabi_attribute-2.s
directive-eabi_attribute-diagnostics.s
directive-eabi_attribute-overwrite.s
directive-eabi_attribute.s
directive-even.s
directive-fpu-multiple.s
directive-fpu-softvfp.s
directive-fpu.s
directive-object_arch-2.s
directive-object_arch-3.s
directive-object_arch-diagnostics.s
directive-object_arch.s
directive-tlsdescseq-diagnostics.s
directive-tlsdescseq.s
directive-word-diagnostics.s
dot-req.s
dwarf-cfi-initial-state.s
eh-compact-pr0.s
eh-compact-pr1.s
eh-directive-cantunwind-diagnostics.s
eh-directive-cantunwind.s
eh-directive-fnend-diagnostics.s
eh-directive-fnstart-diagnostics.s
eh-directive-handlerdata.s
eh-directive-integrated-test.s
eh-directive-movsp-diagnostics.s
eh-directive-movsp.s
eh-directive-multiple-offsets.s
eh-directive-pad-diagnostics.s
eh-directive-pad.s
eh-directive-personality-diagnostics.s
eh-directive-personality.s
eh-directive-personalityindex-diagnostics.s
eh-directive-personalityindex.s
eh-directive-save-diagnoatics.s
eh-directive-save.s
eh-directive-section-comdat.s
eh-directive-section-multiple-func.s
eh-directive-section.s
eh-directive-setfp-diagnostics.s
eh-directive-setfp.s
eh-directive-text-section-multiple-func.s
eh-directive-text-section.s
eh-directive-unwind_raw-diagnostics.s
eh-directive-unwind_raw.s
eh-directive-vsave-diagnostics.s
eh-directive-vsave.s
elf-eflags-eabi.s
elf-jump24-fixup.s
elf-movt.s
elf-reloc-01.ll
elf-reloc-02.ll
elf-reloc-03.ll
elf-reloc-condcall.s
elf-thumbfunc-reloc.ll
elf-thumbfunc-reloc.s
elf-thumbfunc.s
fconst.s
fixup-cpu-mode.s
fp-armv8.s
fp-const-errors.s
full_line_comment.s
hilo-16bit-relocations.s
idiv.s
inst-arm-suffixes.s
inst-constant-required.s
inst-directive-emit.s
inst-directive.s
inst-overflow.s
inst-thumb-overflow-2.s
inst-thumb-overflow.s
inst-thumb-suffixes.s
invalid-barrier.s
invalid-crc32.s
invalid-fp-armv8.s
invalid-hint-arm.s
invalid-hint-thumb.s
invalid-idiv.s
invalid-neon-v8.s
ldr-pseudo-darwin.s
ldr-pseudo-obj-errors.s
ldr-pseudo-parse-errors.s
ldr-pseudo.s
lit.local.cfg
load-store-acquire-release-v8-thumb.s
load-store-acquire-release-v8.s
ltorg-darwin.s
ltorg.s
mapping-within-section.s
mode-switch.s
mul-v4.s
multi-section-mapping.s
neon-abs-encoding.s
neon-absdiff-encoding.s
neon-add-encoding.s
neon-bitcount-encoding.s
neon-bitwise-encoding.s
neon-cmp-encoding.s
neon-convert-encoding.s
neon-crypto.s
neon-dup-encoding.s
neon-minmax-encoding.s
neon-mov-encoding.s
neon-mul-accum-encoding.s
neon-mul-encoding.s
neon-neg-encoding.s
neon-pairwise-encoding.s
neon-reciprocal-encoding.s
neon-reverse-encoding.s
neon-satshift-encoding.s
neon-shift-encoding.s
neon-shiftaccum-encoding.s
neon-shuffle-encoding.s
neon-sub-encoding.s
neon-table-encoding.s
neon-v8.s
neon-vld-encoding.s
neon-vst-encoding.s
neon-vswp.s
neont2-abs-encoding.s
neont2-absdiff-encoding.s
neont2-add-encoding.s
neont2-bitcount-encoding.s
neont2-bitwise-encoding.s
neont2-cmp-encoding.s
neont2-convert-encoding.s
neont2-dup-encoding.s
neont2-minmax-encoding.s
neont2-mov-encoding.s
neont2-mul-accum-encoding.s
neont2-mul-encoding.s
neont2-neg-encoding.s
neont2-pairwise-encoding.s
neont2-reciprocal-encoding.s
neont2-reverse-encoding.s
neont2-satshift-encoding.s
neont2-shift-encoding.s
neont2-shiftaccum-encoding.s
neont2-shuffle-encoding.s
neont2-sub-encoding.s
neont2-table-encoding.s
neont2-vld-encoding.s
neont2-vst-encoding.s
not-armv4.s
obsolete-v8.s
pool.s
pr11877.s
relocated-mapping.s
simple-fp-encoding.s
single-precision-fp.s
symbol-variants-errors.s
symbol-variants.s
target-expressions.s
thumb2-b.w-encodingT4.s
thumb2-branches.s
thumb2-cbn-to-next-inst.s
thumb2-diagnostics.s
thumb2-ldrd.s
thumb2-mclass.s
thumb2-narrow-dp.ll
thumb2-pldw.s
thumb-diagnostics.s
thumb-far-jump.s ARM: Resolve thumb_bl fixup in same MCFragment. 2014-02-05 14:15:16 +00:00
thumb-fp-armv8.s
thumb-hints.s
thumb-invalid-crypto.txt
thumb-neon-crypto.s
thumb-neon-v8.s
thumb-only-conditionals.s
thumb-shift-encoding.s
thumb-st_other.s
thumb.s
thumbv7m.s
unwind-stack-diagnostics.s
v8_IT_manual.s
variant-diagnostics.s
vfp4.s
vfp-aliases-diagnostics.s
vfp-aliases.s
vpush-vpop.s