This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- From: Pedro Alves <palves at redhat dot com>
- To: Ajit Kumar Agarwal <ajit dot kumar dot agarwal at xilinx dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, Michael Eager <eager at eagercon dot com>, Vinod Kathail <vinodk at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, Nagaraju Mekala <nmekala at xilinx dot com>
- Date: Tue, 24 Jun 2014 13:46:40 +0100
- Subject: Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Authentication-results: sourceware.org; auth=none
- References: <fe2ea02f-37b9-4ebe-acd4-6d1192c26358 at BN1AFFO11FD059 dot protection dot gbl> <53A023B1 dot 5000105 at redhat dot com> <859f27cb-8c46-46c1-9625-7287c60f3ae9 at BY2FFO11FD007 dot protection dot gbl> <53A1ABF0 dot 9080004 at redhat dot com> <74281fd5-518a-4d7f-977a-6fa1320f6db9 at BY2FFO11FD016 dot protection dot gbl> <53A1B61F dot 9080803 at redhat dot com> <736c2e0d-6ff1-40c3-8120-dc6f5d91e6b1 at BL2FFO11FD052 dot protection dot gbl> <53A8290A dot 1050701 at redhat dot com> <ffd28f14-2c96-471f-a2c8-4f35b010727d at BN1AFFO11FD006 dot protection dot gbl> <53A94147 dot 4050700 at redhat dot com> <57ebe4b0-83eb-4208-9778-472ecf0048d4 at BY2FFO11FD038 dot protection dot gbl> <53A96993 dot 5040804 at redhat dot com> <109c35c1-e2f6-430f-9235-c6c82a93daf1 at BL2FFO11FD009 dot protection dot gbl>
On 06/24/2014 01:31 PM, Ajit Kumar Agarwal wrote:
>>
>> The default is choosen to assume stack protect to make compatible with the handling of stack protect registers in XMD Debugger.
>
>>> But you've already added the G packet size guess for that.
>
> In this case is it correct to say
> If (tdesc == NULL)
> tdesc = tdesc_microblaze;
>
> instead of tdesc_microblaze_with_stack_protect?
Yes.
>
>>> -
>>> + if (tdesc_data != NULL)
>>> + {
>>> + tdesc_use_registers (gdbarch, tdesc, tdesc_data);
>>> + set_gdbarch_register_type (gdbarch, microblaze_register_type);
>>
>>>> Hmm, why is this set_gdbarch_register_type call necessary?
>>
>> /* Override tdesc_register_type to adjust the types of VFP
>> registers for NEON. */
>> This is done for arm target to set the different type for VFP registers for Neon with Boolean flags is set before this call for VFP registers. In the microblaze target it's not required for special case of stack protect as
> the microblaze_register_type always return builtin_int for these stack protect registers.
>
> Right.
Actually, not right... This comment doesn't really appear to be correct:
> In the microblaze target it's not required for special case of stack protect as
> the microblaze_register_type always return builtin_int for these stack protect registers.
static struct type *
microblaze_register_type (struct gdbarch *gdbarch, int regnum)
{
if (regnum == MICROBLAZE_SP_REGNUM)
return builtin_type (gdbarch)->builtin_data_ptr;
if (regnum == MICROBLAZE_PC_REGNUM)
return builtin_type (gdbarch)->builtin_func_ptr;
return builtin_type (gdbarch)->builtin_int;
}
MICROBLAZE_SP_REGNUM and MICROBLAZE_PC_REGNUM clearly
aren't builtin_int...
Doesn't your patch change the output of "ptype $sp" and
"ptype $pc" ?
That points at something missing in the target description:
> +<!DOCTYPE feature SYSTEM "gdb-target.dtd">
> +<feature name="org.gnu.gdb.microblaze.core">
> + <reg name="r1" bitsize="32"/>
...
> + <reg name="rpc" bitsize="32"/>
AFAICS, SP is "r1", and PC is "rpc". These should be marked with
type="data_ptr" and type="code_ptr" .
>
>>>> As I mentioned before, please don't forget to document the new target features in the manual.
>>
>> Would you mind in explaining which manual need to be changed for the new target.
>
>>> The GDB manual, gdb/doc/gdb.texinfo, describes all the standard XML target features. See the "Standard Target Features" node, and add a new subsection for MicroBlaze.
>
> Thanks !! I will add subsection for Microblaze target.
Thank you.
--
Pedro Alves
- References:
- [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
- RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.