hanchenye-llvm-project/lld
Simon Atanasyan 1d7df40711 [ELF][MIPS] MIPS .reginfo sections handling
MIPS .reginfo section provides information on the registers used by
the code in the object file. Linker should collect this information and
write .reginfo section in the output file. This section contains a union
of used registers masks taken from input .reginfo sections and final
value of the `_gp` symbol.

For details see the "Register Information" section in Chapter 4 in the
following document:
ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf

The patch implements .reginfo sections handling with a couple missed
features: a) it does not put output .reginfo section into the separate
REGINFO segment; b) it does not merge `ri_cprmask` masks from input
section. These features will be implemented later.

Differential Revision: http://reviews.llvm.org/D15669

llvm-svn: 256119
2015-12-20 10:57:34 +00:00
..
COFF COFF: Create an empty but valid PDF file. 2015-12-08 18:39:55 +00:00
ELF [ELF][MIPS] MIPS .reginfo sections handling 2015-12-20 10:57:34 +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 negDelta32 relocatable fixups for arm64 in mach-o. 2015-12-16 22:50:16 +00:00
test [ELF][MIPS] MIPS .reginfo sections handling 2015-12-20 10:57:34 +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 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 [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 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.