[RFC] Fix for mishandling of "break 'pthread_create@GLIBC_2.2.5'"

Paul Pluzhnikov ppluzhnikov@google.com
Tue May 13 23:02:00 GMT 2008


On Tue, May 13, 2008 at 11:44 AM, Daniel Jacobowitz <drow@false.org> wrote:
> On Tue, May 13, 2008 at 11:35:53AM -0700, Paul Pluzhnikov wrote:
>  > 2008-05-13  Paul Pluzhnikov  <ppluzhnikov@google.com>
>  >
>  >       * linespec.c (locate_first_half): Rename to...
>  >       (locate_first_half_1): ... this.
>  >       (locate_first_half): New fn.
>  >
>
>  Patch missing?

Sorry 'bout that. It's attached now.

>  Rather than making versions special, can we suppress looking for
>  fields inside quoted strings?  GCC names static variables "foo.1" and
>  it's hard to get GDB to display that.

Actually, that appears to already work:

$ cat t.c
#include <pthread.h>

void *fn(void *p)
{
  static int zzyx = 24;
  return 0;
}
int main()
{
    static int zzyx = 42;
    pthread_t tid;
    pthread_create(&tid, 0, fn, 0);
    pthread_join(tid, 0);
    return 0;
}

$ gcc -g -o t t.c -pthread
$ gdb/gdb -q ./t
(gdb) b main
Breakpoint 1 at 0x8048412: file t.c, line 12.
(gdb) r
[Thread debugging using libthread_db enabled]

Breakpoint 1, main () at t.c:12
12          pthread_create(&tid, 0, fn, 0);
(gdb) inf var zzyx
All variables matching regular expression "zzyx":

Non-debugging symbols:
0x08049650  zzyx.1565
0x08049654  zzyx.1570
(gdb) p 'zzyx.1565'
$1 = 24
(gdb) p 'zzyx.1570'
$2 = 42
(gdb) q

On Tue, May 13, 2008 at 1:23 PM, Michael Snyder <msnyder@specifix.com> wrote:
>
>  FYI, there's a sort-of work-around...

That only sort-of-works because there is a matching non-versioned
symbol. In addition, it's quite annoying for TAB-completion to
complete the symbol, but the result of completion to then not work.

Yes, I could also set breakpoints by address, etc.
But I'd like to make it easy for non-gdb-experts to be able to
set breakpoints.

Thanks,
-- 
Paul Pluzhnikov

2008-05-13  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* linespec.c (locate_first_half): Rename to...
	(locate_first_half_1): ... this.
	(locate_first_half): New fn.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdb-20080513-patch.txt
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20080513/668a8ceb/attachment.txt>


More information about the Gdb-patches mailing list