Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
Subject: Re: [PING][RFC-v4] Add windows OS Thread Information Block
Date: Thu, 01 Apr 2010 11:21:00 -0000	[thread overview]
Message-ID: <201004011221.36972.pedro@codesourcery.com> (raw)
In-Reply-To: <001201cad17f$6a058980$3e109c80$@muller@ics-cnrs.unistra.fr>

On Thursday 01 April 2010 10:40:50, Pierre Muller wrote:
>   I am still waiting for a comment from any global
> maintainer concerning the non-(windows specific) parts
> of that patch. Christopher approved the windows part.

It is my intention to look at it.  It's taking me a
bit because it's biggish.  On a quick look (not a formal
review) I saw:

 - what looked like some mixed over returning the TIB
   or the TLB.  E.g.:

> +/* Write Windows OS Thread Information Block address.  */
> +static int
> +win32_get_tib_address (ptid_t ptid, CORE_ADDR *addr)
             ^^^
> +{
> +  win32_thread_info *th;
> +  th = thread_rec (ptid, 0);
> +  if (th == NULL)
> +    return 0;
> +  if (addr)
> +    *addr = (CORE_ADDR) th->thread_local_base;
> +  if (th->thread_local_base)
         ^^^^^^^^^^^^^^^^^^^^^
> +    return 1;

  Does the new packet return the TIB, or the TLB?
  The object is $_tlb now, isn't it?

> > +tlb_value_read (struct value *val)
> > +{
...
> > +  if (!target_get_tib_address (inferior_ptid, &tlb))
> > +    error (_("Unable to read tlb"));

  Either this is quite confused, or I am.



 - Assumptions that GDB thread ids are always the
   same as Win32 threads ids.

> > +/* Display thread information block of a thread specified by ARGS.
> > +   If ARGS is empty, display thread information block of
> > current_thread
> > +   if current_thread is non NULL.
> > +   Otherwise ARGS is parsed and converted to a integer that should
> > +   be the windows ThreadID (not the internal GDB thread ID).  */
> > +static void
> > +display_tib (char * args, int from_tty)
> > +{
> > +  if (args)
> > +    {
> > +      ULONGEST id = (ULONGEST) parse_and_eval_long (args);
> > +      display_one_tib (ptid_build (ptid_get_pid (inferior_ptid), 0,
> > id));


> > +  if (target_get_tib_address (ptid, &thread_local_base) == 0)
> > +    {
> > +      printf_filtered ("Unable to get thread local base for ThreadId
> > %s\n",
> > +     pulongest (ptid_get_tid(ptid)));
> > +      return -1;

There's no garantee the TID field of ptid matches a windows
thread id , particularly when remote debugging (read: that
it will always be that way).  Do you really need to make this
bypass the internal GDB thread id?  It would avoid pain if
this always worked with the GDB thread id instead.

-- 
Pedro Alves


  reply	other threads:[~2010-04-01 11:21 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-25 23:47 [RFC] Add windows " Pierre Muller
2009-06-26  7:04 ` Eli Zaretskii
2009-06-26 15:45 ` Christopher Faylor
2009-06-26 16:08   ` Pierre Muller
2009-06-26 16:11     ` Christopher Faylor
2009-06-27 16:07     ` Doug Evans
2009-06-27 17:15     ` Eli Zaretskii
2009-06-29  1:58       ` Christopher Faylor
2009-06-26 15:53 ` Daniel Jacobowitz
2009-06-26 16:11   ` Pierre Muller
2009-06-26 16:18     ` 'Daniel Jacobowitz'
2009-06-26 16:14   ` Christopher Faylor
2009-07-01 14:41   ` [RFC-v2] " Pierre Muller
2009-07-01 15:42     ` Pedro Alves
2009-07-01 16:05       ` Pedro Alves
2009-07-01 16:18         ` Pierre Muller
2009-07-01 16:26           ` Pedro Alves
2009-07-01 16:09       ` Pierre Muller
2009-07-01 16:33         ` Pedro Alves
2009-07-01 16:39         ` Pedro Alves
2009-07-01 17:18         ` Pedro Alves
2009-07-01 17:43     ` Eli Zaretskii
2009-07-01 18:04       ` Christopher Faylor
2009-07-03 16:11         ` [RFC-v3] " Pierre Muller
2009-07-03 19:43           ` Christopher Faylor
2010-03-10 17:14             ` [PING] " Pierre Muller
2010-03-10 17:26               ` Pedro Alves
2010-03-10 22:23                 ` Pierre Muller
2010-03-10 23:30                   ` Daniel Jacobowitz
2010-03-11  0:11                     ` Pedro Alves
2010-03-11  0:00                   ` Pedro Alves
2010-03-11  8:13                     ` Pierre Muller
2010-03-15 21:40                       ` [RFC-v4] Add windows OS " Pierre Muller
2010-03-16  0:10                         ` Christopher Faylor
2010-04-01  9:41                         ` [PING][RFC-v4] " Pierre Muller
2010-04-01 11:21                           ` Pedro Alves [this message]
2010-04-01 12:57                             ` [RFC-v5] " Pierre Muller
2010-04-01 13:21                               ` Pedro Alves
2010-04-01 13:31                                 ` Pierre Muller
2010-04-01 13:43                                   ` Pedro Alves
2010-04-11 15:10                               ` Pedro Alves
2010-04-12 13:52                                 ` [RFC-v6] " Pierre Muller
2010-04-12 16:43                                   ` Pedro Alves
2010-04-13  8:38                                     ` [RFA-v7] " Pierre Muller
2010-04-13 11:14                                       ` Pedro Alves
2010-04-13 13:21                                         ` [RFA-v8] " Pierre Muller
2010-04-13 15:06                                           ` Pedro Alves
2010-04-13 17:42                                             ` Eli Zaretskii
2010-04-15 22:54                                             ` [RFA-v9] Add Windows " Pierre Muller
     [not found]                                             ` <000c01cadcee$7ffcedd0$7ff6c970$%muller@ics-cnrs.unistra.fr>
2010-04-16  6:29                                               ` Eli Zaretskii
2010-04-16  7:53                                                 ` Pierre Muller
2010-04-16 20:30                                                 ` Christopher Faylor
     [not found]                     ` <002101cac0f2$a2298890$e67c99b0$%muller@ics-cnrs.unistra.fr>
     [not found]                       ` <000e01cac488$27dcf970$7796ec50$%muller@ics-cnrs.unistra.fr>
     [not found]                         ` <001201cad17f$6a058980$3e109c80$%muller@ics-cnrs.unistra.fr>
2010-04-01 13:30                           ` [PING][RFC-v4] Add windows " Eli Zaretskii
2010-04-01 16:17                             ` Pierre Muller
     [not found]                             ` <003c01cad1b6$d69e44b0$83dace10$%muller@ics-cnrs.unistra.fr>
2010-04-01 16:58                               ` Eli Zaretskii
2010-03-10 18:48               ` [PING] [RFC-v3] Add windows " Mark Kettenis
2010-03-10 22:25                 ` Pierre Muller
2010-03-11  0:24               ` Pedro Alves
2010-03-11  8:01                 ` Pierre Muller
2009-09-02 15:35           ` [PING][RFC-v3] " Pierre Muller
2009-07-01 18:10     ` [RFC-v2] " Christopher Faylor
2009-07-01 18:20       ` Pedro Alves
2009-07-01 19:10         ` Christopher Faylor
2009-07-01 19:18           ` Pedro Alves
2009-07-01 21:13             ` Christopher Faylor

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=201004011221.36972.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=pierre.muller@ics-cnrs.unistra.fr \
    /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