1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/MC
Reid Kleckner 6281e108e5 [mingw] Fix GCC ABI compatibility for comdat things
Summary:
GCC and the binutils COFF linker do comdats differently from MSVC.
If we want to be ABI compatible, we have to do what they do, which is to
emit unique section names like ".text$_Z3foov" instead of short section
names like ".text". Otherwise, the binutils linker gets confused and
reports multiple definition errors when two object files from GCC and
Clang containing the same inline function are linked together.

The best description of the issue is probably at
https://github.com/Alexpux/MINGW-packages/issues/1677, we don't seem to
have a good one in our tracker.

I fixed up the .pdata and .xdata sections needed everywhere other than
32-bit x86. GCC doesn't use associative comdats for those, it appears to
rely on the section name.

Reviewers: smeenai, compnerd, mstorsjo, martell, mati865

Subscribers: llvm-commits, hiraditya

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

llvm-svn: 335286
2018-06-21 20:27:38 +00:00
..
MCDisassembler Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MCParser [DWARF] Warn on and ignore ".file 0" for DWARF v4 and earlier. 2018-06-21 16:42:03 +00:00
CMakeLists.txt [Asm] Add debug printing for assembler macros 2018-03-06 14:07:01 +00:00
ConstantPools.cpp Re-apply r302416: [ARM] Clear the constant pool cache on explicit .ltorg directives 2017-05-22 09:42:07 +00:00
ELFObjectWriter.cpp [MC] Add assembler support for .cg_profile. 2018-06-02 16:33:01 +00:00
LLVMBuild.txt [WebAssembly] Move toString helpers to BinaryFormat 2018-05-14 22:42:07 +00:00
MachObjectWriter.cpp MC: Have the object writers return the number of bytes written. NFCI. 2018-05-21 18:23:50 +00:00
MCAsmBackend.cpp [RISCV] Add symbol diff relocation support for RISC-V 2018-05-23 12:36:18 +00:00
MCAsmInfo.cpp [DEBUGINFO] Add option that allows to disable emission of flags in .loc directives. 2018-04-03 17:28:55 +00:00
MCAsmInfoCOFF.cpp [mingw] Fix GCC ABI compatibility for comdat things 2018-06-21 20:27:38 +00:00
MCAsmInfoDarwin.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MCAsmInfoELF.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
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 [DWARFv5] Tolerate files not all having an MD5 checksum. 2018-06-14 13:38:20 +00:00
MCAssembler.cpp [MC] Move bundling and MCSubtargetInfo to MCEncodedFragment [NFC] 2018-06-15 09:48:18 +00:00
MCCodeEmitter.cpp [MC] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-08 22:23:19 +00:00
MCCodePadder.cpp [MC] Adding code padding for performance stability - infrastructure. NFC. 2017-10-24 06:16:03 +00:00
MCCodeView.cpp Support: Simplify endian stream interface. NFCI. 2018-05-18 19:46:24 +00:00
MCContext.cpp [WebAssembly] MC: Add compile-twice test and fix corresponding bug 2018-05-30 02:57:20 +00:00
MCDwarf.cpp [DWARF] Don't keep a ref to possibly stack allocated data. 2018-06-20 17:08:46 +00:00
MCELFObjectTargetWriter.cpp [mips] Do not pass redundant IsN64 flag to MCELFObjectTargetWriter. NFC 2017-09-21 14:04:47 +00:00
MCELFStreamer.cpp [PowerPC] Add support for high and higha symbol modifiers on tls modifers. 2018-06-15 19:47:16 +00:00
MCExpr.cpp [PowerPC] Add support for high and higha symbol modifiers on tls modifers. 2018-06-15 19:47:16 +00:00
MCFragment.cpp Fix typoed cast to avoid assertion in MCFragment::dump. 2018-06-18 16:26:11 +00:00
MCInst.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCInstPrinter.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MCInstrAnalysis.cpp [llvm-mca][X86] Teach how to identify register writes that implicitly clear the upper portion of a super-register. 2018-06-20 10:08:11 +00:00
MCInstrDesc.cpp
MCLabel.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCLinkerOptimizationHint.cpp MC: Change object writers to use endian::Writer. NFCI. 2018-05-21 18:17:42 +00:00
MCMachObjectTargetWriter.cpp [MC] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-11 00:27:28 +00:00
MCMachOStreamer.cpp Revert "[MC] Factor MCObjectStreamer::addFragmentAtoms out of MachO streamer." 2018-06-14 17:11:19 +00:00
MCNullStreamer.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCObjectFileInfo.cpp [WebAssembly] Create section start symbols automatically for all sections 2018-05-10 17:38:35 +00:00
MCObjectStreamer.cpp Revert "[MC] Factor MCObjectStreamer::addFragmentAtoms out of MachO streamer." 2018-06-14 17:11:19 +00:00
MCObjectWriter.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MCRegisterInfo.cpp [MC] Handle unknown literal register numbers in .cfi_* directives 2017-12-01 21:44:27 +00:00
MCSchedule.cpp [CodeGen] assume max/default throughput for unspecified instructions 2018-06-05 23:34:45 +00:00
MCSection.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCSectionCOFF.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MCSectionELF.cpp [MC] Add assembler support for .cg_profile. 2018-06-02 16:33:01 +00:00
MCSectionMachO.cpp Fix the GCC build. 2017-01-30 19:05:09 +00:00
MCSectionWasm.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCStreamer.cpp [mingw] Fix GCC ABI compatibility for comdat things 2018-06-21 20:27:38 +00:00
MCSubtargetInfo.cpp [MC] fix documentation comments; NFC 2018-03-22 15:23:21 +00:00
MCSymbol.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCSymbolELF.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCTargetOptions.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MCValue.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCWasmObjectTargetWriter.cpp [WebAssembly] Remove unused headers in MCWasmObjectWriter 2018-05-16 22:13:18 +00:00
MCWasmStreamer.cpp Revert "[MC] Factor MCObjectStreamer::addFragmentAtoms out of MachO streamer." 2018-06-14 17:11:19 +00:00
MCWin64EH.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCWinCOFFStreamer.cpp [MC] Pass MCSubtargetInfo to fixupNeedsRelaxation and applyFixup 2018-06-06 09:40:06 +00:00
MCWinEH.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
StringTableBuilder.cpp [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
SubtargetFeature.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
WasmObjectWriter.cpp [WebAssembly] MC: Add compile-twice test and fix corresponding bug 2018-05-30 02:57:20 +00:00
WinCOFFObjectWriter.cpp MC: Remove stream and output functions from MCObjectWriter. NFCI. 2018-05-21 18:28:57 +00:00