hanchenye-llvm-project/lld
Zachary Turner 648bebdc67 [PDB] One more fix for hasing GSI records.
The reference implementation uses a case-insensitive string
comparison for strings of equal length.  This will cause the
string "tEo" to compare less than "VUo".  However we were using
a case sensitive comparison, which would generate the opposite
outcome.  Switch to a case insensitive comparison.  Also, when
one of the strings contains non-ascii characters, fallback to
a straight memcmp.

The only way to really test this is with a DIA test.  Before this
patch, the test will fail (but succeed if link.exe is used instead
of lld-link).  After the patch, it succeeds even with lld-link.

llvm-svn: 336464
2018-07-06 21:01:42 +00:00
..
COFF [lld] Address post-commit review of r335848 2018-06-29 15:34:36 +00:00
Common [LTO] Errors in LLVM backend should manifest as lld errors 2018-07-02 21:01:43 +00:00
ELF [ELF] - Remove dead code #2. 2018-07-06 13:30:50 +00:00
MinGW [MinGW] Implement the GNU ld options -S/--strip-debug 2018-06-29 06:08:31 +00:00
cmake/modules [CMake] Properly conditionalize installation of lld libraries 2018-03-09 13:09:36 +00:00
docs Implement --{push,pop}-state. 2018-05-31 13:00:25 +00:00
include/lld [Darwin] Use errorHandler from liblldCommon 2018-06-12 02:34:04 +00:00
lib [Darwin] Do not error on '-lto_library' option 2018-06-13 18:59:14 +00:00
test [PDB] One more fix for hasing GSI records. 2018-07-06 21:01:42 +00:00
tools/lld [Darwin] Use errorHandler from liblldCommon 2018-06-12 02:34:04 +00:00
unittests [Darwin] Use errorHandler from liblldCommon 2018-06-12 02:34:04 +00:00
utils
wasm [WebAssembly] Set threadmodel during LTO 2018-07-02 16:27:50 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +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.

Benchmarking

In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.

It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz

The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.