Go to file
Simon Atanasyan 09b3e3685f [ELF] MIPS paired R_MIPS_HI16/LO16 relocations support
Some MIPS relocations including `R_MIPS_HI16/R_MIPS_LO16` use combined
addends. Such addend is calculated using addends of both paired relocations.
Each `R_MIPS_HI16` relocation is paired with the next `R_MIPS_LO16`
relocation. ABI requires to compute such combined addend in case of REL
relocation record format only.

For details see p. 4-17 at
ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf

This patch implements lookup of the next paired relocation suing new
`InputSectionBase::findPairedRelocLocation` method. The primary
disadvantage of this approach is that we put MIPS specific logic into
the common code. The next disadvantage is that we lookup `R_MIPS_LO16`
for each `R_MIPS_HI16` relocation, while in fact multiple `R_MIPS_HI16`
might be paired with the single `R_MIPS_LO16`. From the other side
this way allows us to keep `MipsTargetInfo` class stateless and implement
later relocation handling in parallel.

This patch does not support `R_MIPS_HI16/R_MIPS_LO16` relocations against
`_gp_disp` symbol. In that case the relocations use a special formula for
the calculation. That will be implemented later.

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

llvm-svn: 254461
2015-12-01 21:24:45 +00:00
clang Clang-format an 80-column violation. 2015-12-01 20:19:44 +00:00
clang-tools-extra Add a new checker, cert-err58-cpp, that checks for static or thread_local objects that use a throwing constructor. 2015-12-01 14:05:39 +00:00
compiler-rt [Sanitizer] Increase kPcThreshold in slow unwinder after r254395. 2015-12-01 20:58:44 +00:00
debuginfo-tests
libclc
libcxx Last bit of P0006; mark it as complete 2015-11-30 05:39:30 +00:00
libcxxabi c++abi: use __builtin_offsetof instead of offsetof 2015-11-18 05:33:38 +00:00
libunwind
lld [ELF] MIPS paired R_MIPS_HI16/LO16 relocations support 2015-12-01 21:24:45 +00:00
lldb Revert "Fix race during process interruption" 2015-12-01 17:59:56 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm AMDGPU: Disallow flat_scr in SI assembler 2015-12-01 20:31:08 +00:00
openmp Fix honoring of OMP_THREAD_LIMIT in the teams construct 2015-11-30 20:14:05 +00:00
polly Remove non-debug printing of domain set 2015-11-30 22:59:41 +00:00