llvm-6502/test/MC
David Majnemer 16d8031f94 MC, COFF: Use relocations for function references inside the section
Referencing one symbol from another in the same section does not
generally require a relocation.  However, the MS linker has a feature
called /INCREMENTAL which enables incremental links.  It achieves this
by creating thunks to the actual function and redirecting all
relocations to point to the thunk.

This breaks down with the old scheme if you have a function which
references, say, itself.  On x86_64, we would use %rip relative
addressing to reference the start of the function from out current
position.  This would lead to miscompiles because other references might
reference the thunk instead, breaking function pointer equality.

This fixes PR21520.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221678 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-11 08:43:57 +00:00
..
AArch64 [AArch64] Add support for the .inst directive. 2014-10-22 20:35:57 +00:00
ARM Fix bashism in tests added by r221341 2014-11-05 12:40:21 +00:00
AsmParser MC: AsmLexer: handle multi-character CommentStrings correctly 2014-08-14 02:51:43 +00:00
COFF MC, COFF: Use relocations for function references inside the section 2014-11-11 08:43:57 +00:00
Disassembler Fix bashism in tests added by r221341 2014-11-05 12:40:21 +00:00
ELF Add back commits r219835 and a fixed version of r219829. 2014-10-17 01:48:58 +00:00
Hexagon [Hexagon] Adding basic Hexagon ELF object emitter. 2014-11-06 17:05:51 +00:00
MachO Don't produce relocations for a difference in a section with no symbols. 2014-11-04 22:10:33 +00:00
Markup
Mips [mips] Improve error/warning messages and testing for the .cpload assembler directive. 2014-11-06 10:02:45 +00:00
PowerPC [PPC64] VSX indexed-form loads use wrong instruction format 2014-10-09 17:51:35 +00:00
Sparc
SystemZ Exclude known and bugzilled failures from UBSan bootstrap 2014-09-17 20:17:52 +00:00
X86 Don't produce relocations for a difference in a section with no symbols. 2014-11-04 22:10:33 +00:00