llvm-project/llvm/lib
Martin Storsjö 8f540dad61 [COFF] Assign unique names to autogenerated .weak.<name>.default symbols
These symbols need to be external (MSVC tools error out if a weak
external points at a symbol that isn't external; this was tried before
but had to be reverted in bc5b7217dc,
and this was originally explicitly fixed in
732eeaf2a9).

If multiple object files have weak symbols with defaults, their
defaults could cause linker errors due to duplicate definitions,
unless the names of the defaults are unique.

GNU binutils handles this by appending the name of another symbol
from the same object file to the name of the default symbol. Try
to implement something similar; before writing the object file,
locate a symbol that should have a unique name and use the name of
that one for making the weak defaults unique.

Differential Revision: https://reviews.llvm.org/D75989
2020-03-13 22:44:55 +02:00
..
Analysis [SCEV] Fix usage of invalid IP with FoldingSet 2020-03-13 18:36:58 +02:00
AsmParser Add debug info support for Swift/Clang APINotes. 2020-03-11 18:47:30 -07:00
BinaryFormat [DebugInfo]: Added DWARFv5 macro header flags and corresponding helper 2020-03-07 17:53:01 +05:30
Bitcode Add debug info support for Swift/Clang APINotes. 2020-03-11 18:47:30 -07:00
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen Revert "Reland "[DebugInfo] Enable the debug entry values feature by default"" 2020-03-13 15:37:44 -04:00
DWARFLinker [dsymutil] Fix template stripping in getDIENames(...) to account for overloaded operators 2020-03-04 14:54:31 -08:00
DebugInfo [CodeView] Align type records on 4-bytes when emitting PDBs 2020-03-13 12:22:19 -04:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
ExecutionEngine [ORC] Enable exception handling in JIT'd code when using LLJIT on Darwin. 2020-03-12 15:33:56 -07:00
Frontend [NFC] Revert unnecessary parts of b91c267380 2020-02-15 01:38:58 -06:00
FuzzMutate Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Fuzzer
IR [AssumeBundles] filter usefull attriutes to preserve 2020-03-13 17:35:47 +01:00
IRReader
LTO [LTO] onfig::addSaveTemps: clear ResolutionFile upon an error 2020-03-02 17:49:04 -08:00
LineEditor Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Linker IR Linking: Support merging Warning+Max module metadata flags 2020-02-07 16:29:58 -08:00
MC [COFF] Assign unique names to autogenerated .weak.<name>.default symbols 2020-03-13 22:44:55 +02:00
MCA Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Object Drop a StringMap.h include, NFC 2020-03-11 15:45:34 -07:00
ObjectYAML [lib/ObjectYAML] - Make `ELFYAML::Relocation::Offset` optional. 2020-03-06 13:59:58 +03:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes Fixed [AssumeBundles] Move to IR so it can be used by Analysis 2020-03-10 18:02:39 +01:00
ProfileData [Coverage] Collect all function records in an object (D69471 followup) 2020-03-02 12:01:09 -08:00
Remarks Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Support [Clang][Driver] In -fintegrated-cc1 mode, avoid crashing on exit after a compiler crash 2020-03-13 08:15:35 -04:00
TableGen Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
Target AMDGPU: Add flag to used fixed function ABI 2020-03-13 13:27:05 -07:00
Testing
TextAPI [llvm][MachO] fix adding weak def syms 2020-03-02 17:00:24 -08:00
ToolDrivers [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Transforms [LoopInterchange] Fix interchanging contents of preheader BBs 2020-03-13 15:59:37 -04:00
WindowsManifest Try to fix WindowsManifest CMake logic on Windows 2020-02-28 17:24:03 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
LLVMBuild.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00