llvm-project/lld
Rui Ueyama 1a40b2062c PECOFF: make dumpbin tool happy.
The dumpbin tool in the MSVC toolchain cannot handle an executable created
by LLD if the executable contains a long section name.

In PE/COFF, a section name is stored to a section table entry. Because the
section name field in the table is only 8 byte long, a name longer than
that is stored to the string table and the offset in the string table is
stored to the section table entry instead.

In order to look up a string from the string table, tools need to handle
the symbol table, because the string table is defined as it immediately
follows the symbol table.

And seems the dumpbin doesn't like zero-length symbol table.

This patch teaches LLD how to emit a dummy symbol table. The dummy table
has one dummy entry in it.

llvm-svn: 228900
2015-02-12 02:50:05 +00:00
..
cmake/modules Add VTune as an optional external dependency and add task tracking. 2013-04-06 00:56:40 +00:00
docs Fix five of the shared library build targets 2015-01-21 22:54:56 +00:00
include Remove unused parameter. 2015-02-11 23:22:34 +00:00
lib PECOFF: make dumpbin tool happy. 2015-02-12 02:50:05 +00:00
test [ELF][ARM] Add veneer generation to branch instructions 2015-02-10 09:31:42 +00:00
tools Remove PPC ELF target 2015-01-28 16:37:43 +00:00
unittests Unittest: Do s/_context/_ctx/g. 2015-02-10 21:28:52 +00:00
utils lldReaderWriter.a depends on lldCore.a so make sure 2015-02-05 01:10:40 +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 add_lld_library -> add_llvm_library 2015-01-21 21:26:27 +00:00
LICENSE.TXT Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
Makefile Initial set of Makefiles 2014-06-04 09:54:07 +00:00
README.md Test commit 2012-09-14 00:00:39 +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.