Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Corinna Vinschen <vinschen@redhat.com>
To: gdb-patches@sourceware.org
Subject: Re: [patch] gdbserver/win32-low.c: Fix printf-like formatting (was Re: [patch]: Replace stryoul call to fetch address)
Date: Thu, 28 Feb 2013 09:19:00 -0000	[thread overview]
Message-ID: <20130228085426.GA30108@calimero.vinschen.de> (raw)
In-Reply-To: <83mwupwjr6.fsf@gnu.org>

On Feb 27 23:05, Eli Zaretskii wrote:
> > Date: Wed, 27 Feb 2013 21:29:02 +0100
> > From: Corinna Vinschen <vinschen@redhat.com>
> > 
> > If you look closely, I didn't add the unsigned casts.
> 
> Not in the part I cited (sorry), but elsewhere you did:
> 
> > @@ -1317,10 +1317,10 @@ handle_exception (struct target_waitstat
> >  	  ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
> >  	  return;
> >  	}
> > -      OUTMSG2 (("gdbserver: unknown target exception 0x%08lx at 0x%s",
> > -		current_event.u.Exception.ExceptionRecord.ExceptionCode,
> > -		phex_nz ((uintptr_t) current_event.u.Exception.ExceptionRecord.
> > -		ExceptionAddress, sizeof (uintptr_t))));
> > +      OUTMSG2 (("gdbserver: unknown target exception 0x%08x at 0x%s",
> > +	    (unsigned) current_event.u.Exception.ExceptionRecord.ExceptionCode,
> > +	    phex_nz ((uintptr_t) current_event.u.Exception.ExceptionRecord.
> > +	    ExceptionAddress, sizeof (uintptr_t))));
> [...]
> > @@ -1561,10 +1561,10 @@ get_child_debug_event (struct target_wai
> >  
> >      default:
> >        OUTMSG2 (("gdbserver: kernel event unknown "
> > -		"for pid=%d tid=%x code=%ld\n",
> > +		"for pid=%u tid=%x code=%x\n",
> >  		(unsigned) current_event.dwProcessId,
> >  		(unsigned) current_event.dwThreadId,
> > -		current_event.dwDebugEventCode));
> > +		(unsigned) current_event.dwDebugEventCode));
> >        break;
> >      }
> 
> Are those mistakes?

No.

> > The unsigned casts are already widely used throughout the file.
> 
> So why are they there?

DWORD is unsigned long on 32 bit Windows, right?  So it is on 64 bit
Windows as well, since Windows is a LLP64 system.  64 bit Cygwin OTOH
will be LP64, so in 64 bit Cygwin's case, DWORD is defined as unsigned
int for hopefully obvious reasons.

So, using %ld with no cast will result in a GCC warning on 64 bit
Cygwin, because DWORD is not long.  %d would be right for 64 bit Cygwin,
but might result in a warning on 32 bit Mingw/Cygwin and 64 bit Mingw.

So, whatever they did before, the casts actually do serve a purpose.
They cast the variably defined DWORD-typed value to a well known int
type with a well defined printf format specifier.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat


  reply	other threads:[~2013-02-28  8:54 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-27 16:44 [patch]: Replace stryoul call to fetch address Corinna Vinschen
2013-02-27 17:20 ` Pedro Alves
2013-02-27 18:47   ` Corinna Vinschen
2013-02-27 19:40     ` Pedro Alves
2013-02-27 19:53       ` Corinna Vinschen
2013-02-27 20:03         ` [patch] gdbserver/win32-low.c: Fix printf-like formatting (was Re: [patch]: Replace stryoul call to fetch address) Corinna Vinschen
2013-02-27 21:05           ` Eli Zaretskii
2013-02-27 21:25             ` Corinna Vinschen
2013-02-27 21:30               ` Eli Zaretskii
2013-02-28  9:19                 ` Corinna Vinschen [this message]
2013-02-28 16:20                   ` Eli Zaretskii
2013-02-27 21:50           ` Pedro Alves
2013-02-28 11:01             ` Corinna Vinschen
2013-02-28  0:44         ` [patch]: Replace stryoul call to fetch address Pedro Alves
2013-02-28 10:02           ` Corinna Vinschen
2013-02-28 16:33             ` Corinna Vinschen
2013-02-28 16:48               ` Corinna Vinschen
2013-02-28 17:04                 ` Pedro Alves
2013-02-27 20:24   ` Christopher Faylor
2013-02-27 20:29     ` Christopher Faylor
2013-02-28  0:33       ` Pedro Alves

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=20130228085426.GA30108@calimero.vinschen.de \
    --to=vinschen@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /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