diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2017-02-15 08:33:03 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2017-02-15 08:33:03 +0000 |
commit | 91e30ae2052cf1a2f9ec46a5e9a726aaab970f47 (patch) | |
tree | af3bc2270aa180051cf7cb818144d13ca36bbc52 /llvm/lib | |
parent | 35801a2470e9fe5e4a296f12ff86b95ea411b875 (diff) | |
download | bcm5719-llvm-91e30ae2052cf1a2f9ec46a5e9a726aaab970f47.tar.gz bcm5719-llvm-91e30ae2052cf1a2f9ec46a5e9a726aaab970f47.zip |
[ELF][MIPS] Fix writing updated addend for R_MIPS_GOT16 relocation
If target of R_MIPS_GOT16 relocation is a local symbol its addend
is high 16 bits of complete addend. To calculate a final value, the addend
of this relocation is read, shifted to the left and combined with addend
of paired R_MIPS_LO16 relocation. To save updated addend when the linker
produces a relocatable output, we need to store high 16 bits of the
addend's value. It is different from the case of writing the relocation
result when the linker saves a 16-bit GOT index as-is.
llvm-svn: 295159
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions