From: Simon Marchi Date: Sat, 16 May 2020 15:21:41 +0000 (-0400) Subject: gdb: fix -Wtautological-overlap-compare warning in mips-linux-tdep.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=59f7bd8d2b855162db6784c9724ead9e2377f32c;p=binutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1c4dc5c94c2..8d6901efe67 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-05-16 Simon Marchi + + * mips-linux-tdep.c (mips_linux_in_dynsym_stub): Fix condition. + 2020-05-16 Pedro Alves * ia64-linux-nat.c diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index aa7b8d11f3f..3ffd53db9ea 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -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);