summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/nested.cpp
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2015-12-01 21:24:45 +0000
committerSimon Atanasyan <simon@atanasyan.com>2015-12-01 21:24:45 +0000
commit09b3e3685fdac4de709852d1d86d4b717e900b02 (patch)
treefb907016514dc1bb87953255228b3e1f5c03327c /lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/nested.cpp
parentb6f28ef2c9ca0c910890d15ba17acebf4a9abf7f (diff)
downloadbcm5719-llvm-09b3e3685fdac4de709852d1d86d4b717e900b02.tar.gz
bcm5719-llvm-09b3e3685fdac4de709852d1d86d4b717e900b02.zip
[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
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/breakpoint-commands/nested.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud