llvm-project/lld
David Majnemer 08af4e56e1 [COFF] Don't call memcpy with a NULL argument
Some declarations of memcpy (like glibc's for example) are attributed
with notnull which makes it UB for NULL to get passed in, even if the
memcpy count is zero.

To account for this, guard the memcpy with an appropriate precondition.

This should fix the last UBSan bug, exposed by the test suite, in the
COFF linker.

llvm-svn: 263919
2016-03-20 23:10:12 +00:00
..
COFF [COFF] Don't call memcpy with a NULL argument 2016-03-20 23:10:12 +00:00
ELF [ELF] - ignore the -rpath-link option 2016-03-19 11:15:54 +00:00
cmake/modules
docs ELF: Update the document. 2016-03-14 19:53:52 +00:00
include/lld Fix EHFrame processing to add implicit references when needed. 2016-03-15 21:33:10 +00:00
lib Always pass an allocator to YAMLTraits. 2016-03-17 00:33:58 +00:00
test [ELF][MIPS] Add case demonstrates creation redundant MIPS GOT entries for non-local symbols. NFC. 2016-03-20 11:53:39 +00:00
tools/lld Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +00:00
unittests Merge DarwinLdDriver and Driver. 2016-03-02 19:08:05 +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 Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +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.