hanchenye-llvm-project/lld
Rui Ueyama 107db55ac4 COFF: Define symbols for MSVC 2015 Control Flow Protection.
MSVC 2015's load configuration object (__load_config_used) contains
references to these symbols. I don't fully understand how it works,
but looks like these symbols are linker-defined ones. So I define them
here in the Driver. With this patch, LLD can self-host with MSVC 2015.

This patch is to link MSVC 2015-produced object files. It does not
implement Control Flow Protection. If I understand correctly, the
linker has to create a bitmap of function entry point addresses for
the CFG runtime. We don't do that yet. Produced executables will not
be protected by CFG.

llvm-svn: 244425
2015-08-09 21:01:06 +00:00
..
COFF COFF: Define symbols for MSVC 2015 Control Flow Protection. 2015-08-09 21:01:06 +00:00
ELF Use already available symbol tables. NFC. 2015-08-07 17:16:28 +00:00
cmake/modules
docs Fix docs-lld-html build. 2015-04-10 21:37:42 +00:00
include/lld COFF: Remove the old COFF linker and make link an alias to link2. 2015-08-06 16:19:35 +00:00
lib COFF: Remove lld-link2 alias. 2015-08-07 21:02:36 +00:00
test ELF: Correctly identify SHT_NOTE sections with !SHF_ALLOC as type*Note 2015-08-07 14:36:04 +00:00
tools COFF: Remove lld-link2 alias. 2015-08-07 21:02:36 +00:00
unittests COFF: Remove the old COFF linker and make link an alias to link2. 2015-08-06 16:19:35 +00:00
.arcconfig Update Phabricator server. 2014-04-07 04:52:24 +00:00
.clang-format Remove redundant "Standard: Cpp11" tag. The LLVM style has used the 2014-07-04 12:08:03 +00:00
.gitignore Update .gitignore to ignore hidden MacOSX Finder droppings 2014-07-16 21:01:17 +00:00
CMakeLists.txt [ELF2] Add a new ELF linker based on the new PE/COFF linker. 2015-07-24 21:03:07 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT Update copyright year to 2015. 2015-03-12 20:14:35 +00:00
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.