llvm-project/lld
Nick Kledzik 21921375cc [mach-o] Add support for LC_DATA_IN_CODE
Sometimes compilers emit data into code sections (e.g. constant pools or
jump tables). These runs of data can throw off disassemblers.  The solution
in mach-o is that ranges of data-in-code are encoded into a table pointed to
by the LC_DATA_IN_CODE load command.

The way the data-in-code information is encoded into lld's Atom model is that
that start and end of each data run is marked with a Reference whose offset
is the start/end of the data run.  For arm, the switch back to code also marks
whether it is thumb or arm code.

llvm-svn: 213901
2014-07-24 23:06:56 +00:00
..
cmake/modules Add VTune as an optional external dependency and add task tracking. 2013-04-06 00:56:40 +00:00
docs Remove group-parent references. 2014-06-03 03:07:49 +00:00
include Change the signature of insertElementAt and rename addInputElementFront 2014-07-24 00:08:22 +00:00
lib [mach-o] Add support for LC_DATA_IN_CODE 2014-07-24 23:06:56 +00:00
test [mach-o] Add support for LC_DATA_IN_CODE 2014-07-24 23:06:56 +00:00
tools Initial set of Makefiles 2014-06-04 09:54:07 +00:00
unittests [PECOFF] Add the entry point file at the right place. 2014-07-23 21:41:20 +00:00
utils Update for llvm api change. 2014-07-06 17:43:22 +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 support for building Sphinx documentation when being built inside LLVM source tree and using CMake. 2014-04-18 21:59:05 +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.