mirror-llvm-project/lld
Hans Wennborg 5b4dd04594 [pdb] Fix public symbol hashing in GSIHashStreamBuilder::finalizeBuckets (#190133)
BulkPublic.Name is not necessarily null terminated, so make sure not to
hash past its actual length.

In practice it would often be null terminated, but in the cases where it
was not, we would compute the wrong hash here, put it in the wrong hash
bucket, preventing debuggers from looking up the symbol by name, causing
issues such as
https://discourse.llvm.org/t/pdb-generated-by-lld-link-doesnt-point-to-correct-entry-point-when-debugged-using-visual-studio/90349

(cherry picked from commit 6732640f5f)
2026-04-10 07:17:18 +00:00
..
cmake/modules [LLD][CMake][MSVC] Install PDBs alongside executables (#126680) 2025-05-23 12:58:30 -07:00
COFF [LLD] [COFF] Fix crashes for conflicting exports with -export-all-symbols (#190492) 2026-04-09 07:02:46 +00:00
Common [ADT] Deprecate StringSwitch Cases with 3+ args. NFC. (#165119) 2025-10-25 19:54:07 -04:00
docs release/22.x: Add release notes for lld 2026-01-27 07:57:34 +00:00
ELF [LLD] [ELF] Make -z gcs=always implicitly warn on missing GCS, like force-bti (#186203) 2026-03-23 03:20:01 +00:00
include/lld/Common [lld][BP] Fix duplicate section size measurment (#145384) 2025-06-24 06:31:23 -07:00
MachO [LLD][MachO][NFC] Rename Reloc to Relocation (#175586) 2026-01-13 07:32:36 +01:00
MinGW [LLD] [MinGW] Add the --fat-lto-objects flag (#174962) 2026-01-09 10:24:42 +02:00
test [pdb] Fix public symbol hashing in GSIHashStreamBuilder::finalizeBuckets (#190133) 2026-04-10 07:17:18 +00:00
tools/lld
unittests
utils [lld][utils] Remove Python2 compatible imports in benchmark.py 2025-10-16 11:14:12 +00:00
wasm [lld][dtlto] Invert dependency edge from LTO->DTLTO to DTLTO->LTO 2025-12-31 14:10:42 +01:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] respect LLVMConfig.cmake's LLVM_DEFINITIONS in standalone builds (#138587) 2025-05-22 08:14:13 +03:00
LICENSE.TXT
Maintainers.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.