This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix dprintf work not right if it is pending
- From: Pedro Alves <palves at redhat dot com>
- To: Hui Zhu <teawater at gmail dot com>
- Cc: Keith Seitz <keiths at redhat dot com>, Hui Zhu <hui_zhu at mentor dot com>, gdb-patches ml <gdb-patches at sourceware dot org>
- Date: Tue, 09 Apr 2013 13:03:29 +0100
- Subject: Re: [PATCH] Fix dprintf work not right if it is pending
- References: <514BF736 dot 3070706 at mentor dot com> <514C3C85 dot 4000704 at codesourcery dot com> <514EEBFF dot 8090705 at redhat dot com> <CANFwon3D77yDiB_bQ0iZeg=KpkwoGiKnu=_7+kfcVV547M_cfg at mail dot gmail dot com> <5154378D dot 60302 at redhat dot com> <CANFwon3OdcsC3PQRwteYPKiBYFFKGPcOfMVcc4Fx8XdjZ=-pQw at mail dot gmail dot com> <515B1DF7 dot 3090705 at redhat dot com> <515EF6A3 dot 2080704 at redhat dot com> <CANFwon2UZwnHqCuEtSbSz6z82tr2HciU0QfiQS2dacFdFcvMFg at mail dot gmail dot com> <CANFwon11DSoU5jiHX4G7RGuxBOZRaXD6Cth6Ob3X_Z0-TgnPXw at mail dot gmail dot com> <5162D6A9 dot 2070706 at redhat dot com> <CANFwon3rTwU1AkmeWAoHJZLH=DFrwMzbazK06M5UgBbSn7ZJ2A at mail dot gmail dot com>
Hi Hui,
On 04/09/2013 10:00 AM, Hui Zhu wrote:
> On Mon, Apr 8, 2013 at 10:39 PM, Pedro Alves <palves@redhat.com> wrote:
>>
>>> +set testfile "dprintf-pending"
>>> +set libfile "dprintf-pendshr"
>>> +set srcfile $testfile.c
>>> +set libsrc $srcdir/$subdir/$libfile.c
>>> +set binfile $objdir/$subdir/$testfile
>>> +set lib_sl $objdir/$subdir/$libfile.sl
>>
>> Please use standard_testfile/standard_output_file.
>
> Fixed.
Close, but:
> +standard_testfile .c
> +set libfile "dprintf-pendshr"
> +set libsrc $srcdir/$subdir/$libfile.c
> +set lib_sl $objdir/$subdir/$libfile.sl
".c" is not necessary. Do use standard_output_file please.
Like so:
standard_testfile
set libfile "dprintf-pendshr"
set libsrc $srcdir/$subdir/$libfile.c
set lib_sl [standard_output_file $libfile.sl]
Oh,
> +++ b/gdb/breakpoint.c
> @@ -12963,6 +12963,35 @@ bkpt_re_set (struct breakpoint *b)
> breakpoint_re_set_default (b);
> }
>
> +/* Dprintf breakpoint_ops methods. */
> +
> +static void
> +dprintf_re_set (struct breakpoint *b)
> +{
...
> +}
> +
> static int
> bkpt_insert_location (struct bp_location *bl)
> {
I only now noticed you're putting the new dprintf_re_set
function right in the middle of the
/* Default breakpoint_ops methods. */
bkpt_re_set (struct breakpoint *b)
...
bkpt_insert_location (struct bp_location *bl)
...
bkpt_remove_location (struct bp_location *bl)
...
bkpt_breakpoint_hit (const struct bp_location *bl,
...
bkpt_resources_needed (const struct bp_location *bl)
...
bkpt_print_it (bpstat bs)
...
bkpt_print_mention (struct breakpoint *b)
...
bkpt_decode_linespec (struct breakpoint *b, char **s,
...
section. If you keep scrolling down, you'll notice that
we have a section/block/group of functions for each
breakpoint type.
/* Virtual table for internal breakpoints. */
/* Virtual table for momentary breakpoints */
/* Specific methods for probe breakpoints. */
/* The breakpoint_ops structure to be used in tracepoints. */
etc. for all other types. Please don't break this layout.
Otherwise OK.
Thanks,
--
Pedro Alves