mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
0a70f9b3b9
Given bar = foo + 4 .long bar MC would eat the 4. GNU as includes it in the relocation. The rule seems to be that a variable that defines a symbol is used in the relocation and one that does not define a symbol is evaluated and the result included in the relocation. Fixing this unfortunately required some other changes: * Since the variable is now evaluated, it would prevent the ELF writer from noticing the weakref marker the elf streamer uses. This patch then replaces that with a VariantKind in MCSymbolRefExpr. * Using VariantKind then requires us to look past other VariantKind to see .weakref bar,foo call bar@PLT doing this also fixes zed = foo +2 call zed@PLT so that is a good thing. * Looking past VariantKind means that the relocation selection has to use the fixup instead of the target. This is a reboot of the previous fixes for MC. I will watch the sanitizer buildbot and wait for a build before adding back the previous fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204294 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AlignedBundling | ||
3DNow.s | ||
2011-09-06-NoNewline.s | ||
address-size.s | ||
avx512-encodings.s | ||
cfi_def_cfa-crash.s | ||
fde-reloc.s | ||
fixup-cpu-mode.s | ||
gnux32-dwarf-gen.s | ||
index-operations.s | ||
intel-syntax-2.s | ||
intel-syntax-avx512.s | ||
intel-syntax-bitwise-ops.s | ||
intel-syntax-directional-label.s | ||
intel-syntax-encoding.s | ||
intel-syntax-hex.s | ||
intel-syntax-invalid-basereg.s | ||
intel-syntax-invalid-scale.s | ||
intel-syntax.s | ||
lit.local.cfg | ||
padlock.s | ||
relax-insn.s | ||
reloc-undef-global.s | ||
ret.s | ||
shuffle-comments.s | ||
stackmap-nops.ll | ||
variant-diagnostics.s | ||
x86_64-avx-clmul-encoding.s | ||
x86_64-avx-encoding.s | ||
x86_64-bmi-encoding.s | ||
x86_64-encoding.s | ||
x86_64-fma3-encoding.s | ||
x86_64-fma4-encoding.s | ||
x86_64-hle-encoding.s | ||
x86_64-imm-widths.s | ||
x86_64-rand-encoding.s | ||
x86_64-rtm-encoding.s | ||
x86_64-signed-reloc.s | ||
x86_64-sse4a.s | ||
x86_64-tbm-encoding.s | ||
x86_64-xop-encoding.s | ||
x86_directives.s | ||
x86_errors.s | ||
x86_long_nop.s | ||
x86_nop.s | ||
x86_operands.s | ||
x86-16.s | ||
x86-32-avx.s | ||
x86-32-coverage.s | ||
x86-32-fma3.s | ||
x86-32-ms-inline-asm.s | ||
x86-32.s | ||
x86-64.s | ||
x86-target-directives.s |