teak-llvm/llvm/lib/MC
Reid Kleckner 5a5ac65768 [MC] Always emit relocations for same-section function references
Summary:
We already emit relocations in this case when the "incremental linker
compatible" flag is set, but it turns out these relocations are also
required for /guard:cf. Now that we have two use cases for this
behavior, let's make it unconditional to try to keep things simple.

We never hit this problem in Clang because it always sets the
"incremental linker compatible" flag when targeting MSVC. However, LLD
LTO doesn't set this flag, so we'd get CFG failures at runtime when
using ThinLTO and /guard:cf. We probably don't want LLD LTO to set the
"incremental linker compatible" assembler flag, since this has nothing
to do with incremental linking, and we don't need to timestamp LTO
temporary objects.

Fixes PR36624.

Reviewers: inglorion, espindola, majnemer

Subscribers: mehdi_amini, llvm-commits, hiraditya

Differential Revision: https://reviews.llvm.org/D44485

llvm-svn: 327557
2018-03-14 19:24:32 +00:00
..
MCDisassembler Shrink various scheduling tables by using narrower types. 2018-02-23 19:32:56 +00:00
MCParser Delay creating an alias for @@@. 2018-03-09 18:42:25 +00:00
CMakeLists.txt [Asm] Add debug printing for assembler macros 2018-03-06 14:07:01 +00:00
ConstantPools.cpp
ELFObjectWriter.cpp Delay creating an alias for @@@. 2018-03-09 18:42:25 +00:00
LLVMBuild.txt
MachObjectWriter.cpp [MC] Issue error message when data region is not terminated 2018-02-12 07:19:05 +00:00
MCAsmBackend.cpp [MC] Adding code padding for performance stability - infrastructure. NFC. 2017-10-24 06:16:03 +00:00
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCAsmMacro.cpp [Asm] Fix another layering violation in assmebly macro dumping 2018-03-06 16:51:17 +00:00
MCAsmStreamer.cpp [MC] fix documentation comments; NFC 2018-03-13 17:50:27 +00:00
MCAssembler.cpp [MC] Fix assembler infinite loop on EH table using LEB padding. 2018-02-01 00:25:19 +00:00
MCCodeEmitter.cpp
MCCodePadder.cpp [MC] Adding code padding for performance stability - infrastructure. NFC. 2017-10-24 06:16:03 +00:00
MCCodeView.cpp [CodeView] Add line numbers for inlined call sites 2018-01-18 22:55:43 +00:00
MCContext.cpp [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
MCDwarf.cpp Revert "Reapply "[DWARFv5] Emit file 0 to the line table."" 2018-03-07 16:27:44 +00:00
MCELFObjectTargetWriter.cpp [mips] Do not pass redundant IsN64 flag to MCELFObjectTargetWriter. NFC 2017-09-21 14:04:47 +00:00
MCELFStreamer.cpp Delay creating an alias for @@@. 2018-03-09 18:42:25 +00:00
MCExpr.cpp [MC] Don't crash on modulo by zero (PR35650) 2018-02-22 18:06:48 +00:00
MCFragment.cpp NFC: Rename MCSafeSEHFragment to MCSymbolIdFragment 2017-11-08 18:57:02 +00:00
MCInst.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
MCInstPrinter.cpp
MCInstrAnalysis.cpp
MCInstrDesc.cpp
MCLabel.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Don't create MCFillFragment directly. 2018-01-09 21:55:10 +00:00
MCNullStreamer.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCObjectFileInfo.cpp [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
MCObjectStreamer.cpp Use assembler expressions to lay out the EH LSDA. 2018-02-09 17:00:25 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp [MC] Handle unknown literal register numbers in .cfi_* directives 2017-12-01 21:44:27 +00:00
MCSchedule.cpp [MC] Move the reciprocal throughput computation from TargetSchedModel to MCSchedModel. 2018-03-13 16:28:55 +00:00
MCSection.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
MCSectionCOFF.cpp
MCSectionELF.cpp CodeGen: support an extension to pass linker options on ELF 2018-01-30 16:29:29 +00:00
MCSectionMachO.cpp
MCSectionWasm.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCStreamer.cpp Delay creating an alias for @@@. 2018-03-09 18:42:25 +00:00
MCSubtargetInfo.cpp Typo: const MCSchedModel SchedModel -> const MCSchedModel &SchedModel 2017-09-27 12:48:48 +00:00
MCSymbol.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
MCSymbolELF.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCTargetOptions.cpp
MCValue.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp [WebAssembly] Add first claass symbol table to wasm objects 2018-02-23 05:08:34 +00:00
MCWin64EH.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCWinCOFFStreamer.cpp Reland "Emit Function IDs table for Control Flow Guard" 2018-01-09 23:49:30 +00:00
MCWinEH.cpp
StringTableBuilder.cpp [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
SubtargetFeature.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
WasmObjectWriter.cpp [WebAssembly] Disallow weak undefined globals in the object format 2018-03-09 16:30:44 +00:00
WinCOFFObjectWriter.cpp [MC] Always emit relocations for same-section function references 2018-03-14 19:24:32 +00:00