gold/
* powerpc.cc (Target_powerpc::relocate): Fix overflow check.
This commit is contained in:
parent
f953163fe9
commit
e30880c2ee
2 changed files with 6 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
|||
2014-12-22 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* powerpc.cc (Target_powerpc::relocate): Fix overflow check.
|
||||
|
||||
2014-12-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR gold/14608
|
||||
|
|
|
@ -7531,7 +7531,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
|
|||
Insn* iview = reinterpret_cast<Insn*>(view - 2 * big_endian);
|
||||
Insn insn = elfcpp::Swap<32, big_endian>::readval(iview);
|
||||
|
||||
overflow = Reloc::CHECK_SIGNED;
|
||||
if ((insn & (0x3f << 26)) == 10u << 26 /* cmpli */)
|
||||
overflow = Reloc::CHECK_BITFIELD;
|
||||
else if (overflow == Reloc::CHECK_LOW_INSN
|
||||
|
@ -7542,6 +7541,8 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
|
|||
|| (insn & (0x3f << 26)) == 25u << 26 /* oris */
|
||||
|| (insn & (0x3f << 26)) == 27u << 26 /* xoris */))
|
||||
overflow = Reloc::CHECK_UNSIGNED;
|
||||
else
|
||||
overflow = Reloc::CHECK_SIGNED;
|
||||
}
|
||||
|
||||
typename Powerpc_relocate_functions<size, big_endian>::Status status
|
||||
|
|
Loading…
Reference in a new issue