hanchenye-llvm-project/lld
Pete Cooper 9942bd025d Fix x86_64 delta*Anon relocs.
The encoded value should be an offset from the fixup location, which
means that it should take in to account the fixup offset in its section.

We weren't subtracting the base address of the atom, which meant that when
we parsed the file again for a round trip, we had 2x the atom address in our
target address.

I've also improved comments for these to try and describe what is going on.

There's no test case right now, as the bug is only exhibited when __data is at
a non-zero address in a -r link.  A commit will soon sort the sections differently
and move __data to after __text.  Then these relocations in
test/mach-o/parse-data-relocs-x86_64.yaml will test for this bug.

llvm-svn: 256779
2016-01-04 21:23:12 +00:00
..
COFF COFF: Create an empty but valid PDF file. 2015-12-08 18:39:55 +00:00
ELF Revert or r256638. I`ve lost a little piece of code when resolved conflicts right before commit. Sorry about that. 2016-01-02 16:55:01 +00:00
cmake/modules
docs Update documents. 2015-11-20 22:47:42 +00:00
include/lld Move parsing of LLVM options to parse() method. 2015-12-16 20:53:27 +00:00
lib Fix x86_64 delta*Anon relocs. 2016-01-04 21:23:12 +00:00
test Revert or r256638. I`ve lost a little piece of code when resolved conflicts right before commit. Sorry about that. 2016-01-02 16:55:01 +00:00
tools Rename ld.lld2 to ld.lld since it is the default. 2015-11-18 06:11:01 +00:00
unittests Fix DarwinLdDriverTest.cpp to pass real llvm options. 2015-12-16 21:24:46 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt [CMake] Don't include the lld test directory if LLVM_INCLUDE_TESTS is Off 2015-10-01 18:17:47 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT
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.