hanchenye-llvm-project/lld
Rui Ueyama affb40e9d2 Keep an instance of COFFOptTable alive as long as InputArgList is alive.
Summary:
ArgParser created an instance of COFFOptTable on stack to use it to
parser command line arguments. Parsed arguments were then returned from
the function as InputArgList. This was safe because InputArgList referred
only statically-allocated InfoTable.

That is not a safe assumption after https://reviews.llvm.org/D36782,
which changes the type of its internal table from ArrayRef to std::vector.
To make lld work with that patch, we need to keep an instance of
COFFOptTable at least as long as an InputArgList is alive. This patch
does that.

Reviewers: yamaguchi

Subscribers: llvm-commits

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

llvm-svn: 311930
2017-08-28 20:46:30 +00:00
..
COFF Keep an instance of COFFOptTable alive as long as InputArgList is alive. 2017-08-28 20:46:30 +00:00
ELF [MIPS] Remove unused function's argument. NFC 2017-08-28 14:40:53 +00:00
cmake/modules [lld][cmake] Fix BUILD_SHARED_LIBS installation 2017-01-24 10:41:02 +00:00
docs minor grammar fix 2017-08-04 20:06:03 +00:00
include/lld Update for llvm change. 2017-08-03 02:16:33 +00:00
lib [MACH-O] Fix the ASM code generated for __stub_helpers section 2017-08-24 23:51:40 +00:00
test [MACH-O] Fix the ASM code generated for __stub_helpers section 2017-08-24 23:51:40 +00:00
tools/lld Accept not only lld-link but also LLD-LINK, for example. 2017-04-12 18:29:52 +00:00
unittests Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Dummy commit to trigger CMake reconfiguration and unbreak Sphinx build 2017-05-04 08:32:33 +00:00
CODE_OWNERS.TXT
LICENSE.TXT
README.md Test commit 2017-06-24 21:16:41 +00:00

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.