This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2] Fix inconsistent breakpoint kinds between breakpoints and tracepoints in GDBServer.
- From: Pedro Alves <palves at redhat dot com>
- To: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- Cc: GDB <gdb-patches at sourceware dot org>
- Date: Thu, 22 Oct 2015 17:23:03 +0100
- Subject: Re: [PATCH v2] Fix inconsistent breakpoint kinds between breakpoints and tracepoints in GDBServer.
- Authentication-results: sourceware.org; auth=none
- References: <5628FE0C dot 5090309 at redhat dot com> <1445529414-11581-1-git-send-email-antoine dot tremblay at ericsson dot com> <5629079A dot 3050809 at redhat dot com> <562908C6 dot 4010903 at ericsson dot com> <56290915 dot 9060608 at redhat dot com> <56290999 dot 9070103 at ericsson dot com> <56290AB6 dot 5050308 at redhat dot com> <56290BE8 dot 5080401 at ericsson dot com> <56290C4E dot 4050208 at ericsson dot com>
On 10/22/2015 05:18 PM, Antoine Tremblay wrote:
>
>
> On 10/22/2015 12:16 PM, Antoine Tremblay wrote:
>>
>>
>> On 10/22/2015 12:11 PM, Pedro Alves wrote:
>>> You don't need this one nor the equivalent in other ports if you
>>> add this to target.h:
>>>
>>> #define target_breakpoint_kind_from_pc(PCPTR) \
>>> (the_target->breakpoint_kind_from_pc \
>>> ? (*the_target->breakpoint_kind_from_pc) (PCPTR) \
>>> : default_breakpoint_kind_from_pc ())
>>>
>>> (see the other similar macros there)
>>>
>>> You'll need to adjust callers to call target_breakpoint_kind_from_pc
>>> instead, of course.
>>>
>>
>> Yes but then I would need a os_arch_sw_breakpoint_from_kind operation in
>> all the arch that this os supports (and that I can't test), you think
>> it's still better that way ?
>>
>
> Unless I have another macro that checks for the sw_breakpoint_from_kind
> and if abscent returns breakpoint_len... I could do that I guess..
I guess I'm confused. Why doesn't what you already had, like
below, work as is?
static const gdb_byte *
win32_sw_breakpoint_from_kind (int kind, int *size)
{
*size = the_low_target.breakpoint_len;
return the_low_target.breakpoint;
}
Thanks,
Pedro Alves