From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: "'Pedro Alves'" <pedro@codesourcery.com>
Cc: <gdb-patches@sourceware.org>
Subject: RE: [RFC-v5] Add windows OS Thread Information Block
Date: Thu, 01 Apr 2010 13:31:00 -0000 [thread overview]
Message-ID: <001b01cad19f$98b25630$ca170290$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <201004011421.17006.pedro@codesourcery.com>
> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Pedro Alves
> Envoyé : Thursday, April 01, 2010 3:21 PM
> À : Pierre Muller
> Cc : gdb-patches@sourceware.org
> Objet : Re: [RFC-v5] Add windows OS Thread Information Block
>
> On Thursday 01 April 2010 13:56:50, Pierre Muller wrote:
> > > Does the new packet return the TIB, or the TLB?
> > The thread local base is the address of
> > the Thread Information Block which itself
> > is a block of memory (usually of size 0x1000)
> > containing thread specific information.
>
> Okay, thanks, that makes the terminology clearer.
>
> > > The object is $_tlb now, isn't it?
> > This object is a pointer in debuggee memory
> > to the Thread Information Block.
>
> If the TLB is a pointer to the TIB, then if "ptype $_tlb" shows
> something not a pointer, something isn't right, wouldn't
> you say? Isn't "ptype $_tlb"/"p $_tib" printing the _TIB_
> instead? This is where things are still confusing.
(top-gdb) start
Temporary breakpoint 3 at 0x40107a: file ../../src/gdb/gdb.c, line 28.
Starting program: /usr/local/src/gdbcvs/build-norm/gdb/gdb.exe
[New Thread 5136.0x16b4]
[New Thread 5136.0x2b4]
Temporary breakpoint 3, main (argc=1, argv=0x1d82428)
at ../../src/gdb/gdb.c:28
28 memset (&args, 0, sizeof args);
(top-gdb) p $_tlb
$3 = (tib *) 0x7ffdf000
(top-gdb) ptyp $_tlb
type = struct {
seh *current_seh;
void *current_top_of_stack;
void *current_bottom_of_stack;
void *sub_system_tib;
void *fiber_data;
void *arbitrary_data_slot;
void *linear_address_tib;
void *environment_pointer;
DWORD_PTR process_id;
DWORD_PTR thread_id;
DWORD_PTR active_rpc_handle;
void *thread_local_storage;
peb *process_environment_block;
DWORD_PTR last_error_number;
} *
This seems correct to me.
> > +@item $_tlb
> > +@vindex $_tlb@r{, convenience variable}
> > +The variable @code{$_tlb} is automatically set for Windows OS
> running
> > +applications in native mode or connected to a gdbserver that
> supports
> > +@code{qGetTIBAddr} requests. This variable contains the address of
> the
> > thread
> > +information block.
>
> Does the variable really contain an address?
I hope the output above is enough to convince you,
to get the display of the Thread information Block you need to use
p *$_tlb
Pierre
next prev parent reply other threads:[~2010-04-01 13:31 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
2010-04-01 12:57 ` [RFC-v5] " Pierre Muller
2010-04-01 13:21 ` Pedro Alves
2010-04-01 13:31 ` Pierre Muller [this message]
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='001b01cad19f$98b25630$ca170290$@muller@ics-cnrs.unistra.fr' \
--to=pierre.muller@ics-cnrs.unistra.fr \
--cc=gdb-patches@sourceware.org \
--cc=pedro@codesourcery.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