gdb: fix -Wtautological-overlap-compare warning in mips-linux-tdep.c
When building with clang 11, I get: CXX mips-linux-tdep.o /home/smarchi/src/binutils-gdb/gdb/mips-linux-tdep.c:643:30: error: overlapping comparisons always evaluate to true [-Werror,-Wtautological-overlap-compare] if (insn != 0x03e07821 || insn != 0x03e07825) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /home/smarchi/src/binutils-gdb/gdb/mips-linux-tdep.c:636:30: error: overlapping comparisons always evaluate to true [-Werror,-Wtautological-overlap-compare] if (insn != 0x03e0782d || insn != 0x03e07825) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ Indeed, given two different values, `insn` will always be different to one of them, and these conditions always be true. This code is meant to return if `insn` isn't one of these two values, so the `||` should be replaced with `&&`. gdb/ChangeLog: * mips-linux-tdep.c (mips_linux_in_dynsym_stub): Fix condition.
This commit is contained in:
parent
56770bdab2
commit
59f7bd8d2b
2 changed files with 6 additions and 4 deletions
|
@ -633,16 +633,14 @@ mips_linux_in_dynsym_stub (CORE_ADDR pc)
|
|||
if (n64)
|
||||
{
|
||||
/* 'daddu t7,ra' or 'or t7, ra, zero'*/
|
||||
if (insn != 0x03e0782d || insn != 0x03e07825)
|
||||
if (insn != 0x03e0782d && insn != 0x03e07825)
|
||||
return 0;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 'addu t7,ra' or 'or t7, ra, zero'*/
|
||||
if (insn != 0x03e07821 || insn != 0x03e07825)
|
||||
if (insn != 0x03e07821 && insn != 0x03e07825)
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
insn = extract_unsigned_integer (p + 8, 4, byte_order);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue