diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-05-11 15:44:23 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-05-11 15:44:23 +0000 |
commit | 45533b4060c781a7925faec9f9a933e568e0480b (patch) | |
tree | 7c4758195af6072ccc9afe485660a0435befb9e2 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 79acc976ea001ce8138a191c8ab90562c8d9990a (diff) | |
download | llvm-45533b4060c781a7925faec9f9a933e568e0480b.zip llvm-45533b4060c781a7925faec9f9a933e568e0480b.tar.gz llvm-45533b4060c781a7925faec9f9a933e568e0480b.tar.bz2 |
[mips][ias] Work around incorrect microMIPS relocation evaluation exposed by r268900
microMIPS has a special case that is not correctly implemented in LLVM. If we
have a symbol 'foo' which is equivalent to '.text+0x10'. The value of an
R_MICROMIPS_LO16 relocation using 'foo' is 'foo+0x11' and not 'foo+0x10'. The
in-place addend should therefore be 0x11.
Work around this by partially reverting the effect of r268900 by keeping the
symbol when the STO_MIPS_MICROMIPS flag is set. This fixes
SingleSource/Regression/C/PR640 for microMIPS.
llvm-svn: 269196
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions