diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2016-02-25 05:03:52 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2016-02-25 05:03:52 +0000 |
commit | 49bc69b9bbafd026aaa44cbc3ac1c671152f3507 (patch) | |
tree | d27d5ffafd22d99e1f8b23951b9b556587180018 /llvm/lib/Analysis/CFG.cpp | |
parent | 2b972dfebb2e0e987c33fcf432cdfc0f8c9bbc1b (diff) | |
download | bcm5719-llvm-49bc69b9bbafd026aaa44cbc3ac1c671152f3507.tar.gz bcm5719-llvm-49bc69b9bbafd026aaa44cbc3ac1c671152f3507.zip |
[ELF][MIPS] Enumerate absolute MIPS relocations in the isRelRelative
This commit does two related thing. At first, it enumerates supported
absolute MIPS relocations in the `MipsTargetInfo<ELFT>::isRelRelative`
method. In that case the code is shorter and the case switch does not
tend to grow. At second, it prevents R_MIPS_COPY and PLT creation for
relative relocations. For almost all relative MIPS relocations like
R_MIPS_PC19_S2, R_MIPS_PCHI16 etc it does not have a sence. The only
exception is R_MIPS_PC32. GNU linker creates a copy relocation or PLT
entry for it. But I could not find any real test case uses R_MIPS_PC32
with DSO defined symbol as a target. So for now I prefer to skip this
case to simplify the LLD code.
llvm-svn: 261822
Diffstat (limited to 'llvm/lib/Analysis/CFG.cpp')
0 files changed, 0 insertions, 0 deletions