mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 04:43:17 +08:00
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:
@ -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);
|
||||
|
Reference in New Issue
Block a user