This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On Tue, May 13, 2008 at 06:05:05PM -0700, Paul Pluzhnikov wrote:
> So the expression evaluation and the breakpoint evaluation go
> completely separate routes:

Ah, right.  I tried nested functions in GCC, which have the same
problem.

(gdb) b 'bar.18<tab>
bar.1873  bar.1888
(gdb) b 'bar.1888'
Can't find member of namespace, class, struct, or union named "bar.1888"

>    set_flags (*argptr, &is_quoted, &paren_pointer);
>  
> -  /* Check to see if it's a multipart linespec (with colons or
> -     periods).  */
> +  if ((*argptr)[0] == '\'')

I believe this is the same as is_quoted.  If I'm right, that implies
that this breaks:

(gdb) break 'foo.c':13

We need to call locate_first_half to separate the filename from the
line number.  There's also the 'foo.c'::staticvar form to worry about.
I think locate_first_half is going to have to know whether is_quoted,
and if so, only look for the matching quote.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]