Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org,  Eli Zaretskii <eliz@gnu.org>
Subject: Re: Modernize solaris threads support.
Date: Tue, 17 Feb 2009 13:30:00 -0000	[thread overview]
Message-ID: <200902171310.24234.pedro@codesourcery.com> (raw)
In-Reply-To: <ubpt1wwae.fsf@gnu.org>

On Tuesday 17 February 2009 03:56:57, Eli Zaretskii wrote:
> > From: Pedro Alves <pedro@codesourcery.com>
> > Date: Mon, 16 Feb 2009 20:50:48 +0000
> > 
> > What are thinking you would have to do yourself?
> 
> Adjust the prototypes.
> 

You don't have to adjust anything yourself.  I've done that
already.  Otherwise, I wouldn't have gone through the trouble of
touching go32-nat.c at all, would I? --- that's the whole point
of that hunk.

I'm thinking there's some miscomunication going on.  Let's step back
a bit.

On Monday 16 February 2009 19:09:57, Eli Zaretskii wrote:
> > -static void go32_resume (ptid_t ptid, int step,
> > -                         enum target_signal siggnal);
> > -static void go32_fetch_registers (struct regcache *, int regno);
> >  static void store_register (const struct regcache *, int regno);
> > -static void go32_store_registers (struct regcache *, int regno);
> 
> Why did you need to remove these prototypes while at that?
> 

Let's call things by their proper names.  The prototypes of
these target_ops callbacks have changed --- I've added a new argument.  While
adjusting the go32 target, I found that I had to adjust these declarations, in
addition to their corresponding function definitions.  But then, I noticed
that these declarations aren't really needed, since the go32_resume,
go32_fetch_registers and go32_store_registers functions have static linkage,
and, are declared before their first usage, that is, way down in
the go32-nat.c file, like so:

 static void
 init_go32_ops (void)
 {
 (...)
   go32_ops.to_resume = go32_resume;
 (...)
   go32_ops.to_fetch_registers = go32_fetch_registers;
   go32_ops.to_store_registers = go32_store_registers;
 (...)
 }


This is what was in the patch touching go32-nat.c:

 >quilt diff go32-nat.c
 Index: src/gdb/go32-nat.c
 ===================================================================
 --- src.orig/gdb/go32-nat.c     2009-02-16 00:20:30.000000000 +0000
 +++ src/gdb/go32-nat.c  2009-02-16 03:26:06.000000000 +0000
 @@ -169,11 +169,7 @@ static void go32_open (char *name, int f
  static void go32_close (int quitting);
  static void go32_attach (char *args, int from_tty);
  static void go32_detach (char *args, int from_tty);
 -static void go32_resume (ptid_t ptid, int step,
 -                         enum target_signal siggnal);
 -static void go32_fetch_registers (struct regcache *, int regno);
  static void store_register (const struct regcache *, int regno);
 -static void go32_store_registers (struct regcache *, int regno);

All these three declarations I was removing, ...

  static void go32_prepare_to_store (struct regcache *);
  static int go32_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len,
                              int write,
 @@ -321,7 +317,8 @@ static int resume_is_step;
  static int resume_signal = -1;

 static void
-go32_resume (ptid_t ptid, int step, enum target_signal siggnal)
+go32_resume (struct target_ops *ops,
+            ptid_t ptid, int step, enum target_signal siggnal)
 {
   int i;

... I'm already adjusting here, ...

 @@ -478,7 +475,8 @@ fetch_register (struct regcache *regcach
  }
 
  static void
 -go32_fetch_registers (struct regcache *regcache, int regno)
 +go32_fetch_registers (struct target_ops *ops,
 +                     struct regcache *regcache, int regno)
  {

... and here, ...


    if (regno >= 0)
      fetch_register (regcache, regno);
 @@ -507,7 +505,8 @@ store_register (const struct regcache *r
  }
 
  static void
 -go32_store_registers (struct regcache *regcache, int regno)
 +go32_store_registers (struct target_ops *ops,
 +                     struct regcache *regcache, int regno)
  {

... and here, ...

   unsigned r;

@@ -859,7 +858,7 @@ go32_terminal_ours (void)
 }

 static int
-go32_thread_alive (ptid_t ptid)
+go32_thread_alive (struct target_ops *ops, ptid_t ptid)
 {

... plus, this one didn't have a forward declaration, but,
I've adjusted it nonetheless.

   return 1;
 }

As you can see, you wouldn't have to do anything --- I've
done all your work already.  Did I miss something else?

If you still want those declarations for some reason, I'll
put them back.

-- 
Pedro Alves


  reply	other threads:[~2009-02-17 13:10 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-16  8:57 Pedro Alves
2009-02-16 19:35 ` Eli Zaretskii
2009-02-16 20:45   ` Pedro Alves
2009-02-16 20:50     ` Eli Zaretskii
2009-02-17  0:07       ` Pedro Alves
2009-02-17  4:12         ` Eli Zaretskii
2009-02-17 13:30           ` Pedro Alves [this message]
2009-02-17 19:20             ` Eli Zaretskii
2009-02-17 20:01               ` Pedro Alves
2009-02-17 20:28               ` Tom Tromey
2009-02-17 20:50                 ` Eli Zaretskii
2009-02-17 21:12                   ` Tom Tromey
2009-02-18  2:06                     ` Stan Shebs
2009-02-18 10:13                       ` Eli Zaretskii
2009-02-18 14:47                         ` Mark Kettenis
2009-02-18 19:50                           ` Eli Zaretskii
2009-02-23  0:49 ` Pedro Alves
2009-02-23  1:22   ` Pedro Alves
2009-02-23 20:09     ` Pedro Alves
2009-02-24 14:48       ` Pierre Muller
2009-02-24 14:52         ` Pedro Alves
2009-02-24 15:04           ` Pierre Muller
2009-02-24 15:31             ` Pedro Alves
2009-02-24 15:58               ` [Commit] obvious: fix compilation failure for windows-nat.c Pierre Muller
2009-07-20 12:07           ` Restore GNU/Hurd functionality (was: Modernize solaris threads support.) Thomas Schwinge
2009-07-20 13:02             ` Pedro Alves
2009-07-20 15:08               ` Restore GNU/Hurd functionality Thomas Schwinge
2009-07-20 17:33                 ` Pedro Alves
2009-02-26 19:45   ` Modernize solaris threads support David Daney
2009-02-27 18:22     ` 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=200902171310.24234.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=eliz@gnu.org \
    --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