Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simark@simark.ca>
To: "Maciej W. Rozycki" <macro@linux-mips.org>,
	Simon Marchi <simon.marchi@efficios.com>
Cc: gdb-patches@sourceware.org, Andreas Schwab <schwab@linux-m68k.org>
Subject: Re: [PATCH] gdb: fix -Wtautological-overlap-compare warning in mips-linux-tdep.c
Date: Sat, 16 May 2020 11:23:16 -0400	[thread overview]
Message-ID: <78758ac2-ffe6-0675-3c4f-b0177de4738f@simark.ca> (raw)
In-Reply-To: <alpine.LFD.2.21.2005161407230.1182553@eddie.linux-mips.org>

On 2020-05-16 9:29 a.m., Maciej W. Rozycki wrote:
> On Fri, 15 May 2020, Simon Marchi wrote:
> 
>> diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
>> index aa7b8d11f3fb..ae067c19dfa7 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)
> 
>  Nope, this ought to be:
> 
> 	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)
> 
>  Likewise:
> 
> 	if (insn != 0x03e07821 && insn != 0x03e07825)
> 
>  Thanks for looking into it (and for cc-ing me)!
> 
>   Maciej
> 

Ah so I misinterpreted the intent.  Thanks to you and Andreas for pointing
it out!

I modified the patch and pushed it as below.

Simon


From 59f7bd8d2b855162db6784c9724ead9e2377f32c Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@efficios.com>
Date: Sat, 16 May 2020 11:21:41 -0400
Subject: [PATCH] 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.
---
 gdb/ChangeLog         | 4 ++++
 gdb/mips-linux-tdep.c | 6 ++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1c4dc5c94c2a..8d6901efe67c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-05-16  Simon Marchi  <simon.marchi@efficios.com>
+
+	* mips-linux-tdep.c (mips_linux_in_dynsym_stub): Fix condition.
+
 2020-05-16  Pedro Alves  <palves@redhat.com>

 	* ia64-linux-nat.c
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index aa7b8d11f3fb..3ffd53db9ead 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);
-- 
2.26.2



      reply	other threads:[~2020-05-16 15:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-16  2:01 Simon Marchi
2020-05-16  6:42 ` Andreas Schwab
2020-05-16 13:29 ` Maciej W. Rozycki
2020-05-16 15:23   ` Simon Marchi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=78758ac2-ffe6-0675-3c4f-b0177de4738f@simark.ca \
    --to=simark@simark.ca \
    --cc=gdb-patches@sourceware.org \
    --cc=macro@linux-mips.org \
    --cc=schwab@linux-m68k.org \
    --cc=simon.marchi@efficios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox