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: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.



-----Original Message-----
From: Pedro Alves [mailto:palves@redhat.com] 
Sent: Monday, June 30, 2014 4:53 PM
To: Ajit Kumar Agarwal
Cc: gdb-patches@sourceware.org; Michael Eager; Vinod Kathail; Vidhumouli Hunsigida; Nagaraju Mekala
Subject: Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.

On 06/30/2014 12:13 PM, Ajit Kumar Agarwal wrote:
> -----Original Message-----
> From: Pedro Alves [mailto:palves@redhat.com]
> Sent: Monday, June 30, 2014 4:25 PM
> To: Ajit Kumar Agarwal
> Cc: gdb-patches@sourceware.org; Michael Eager; Vinod Kathail; 
> Vidhumouli Hunsigida; Nagaraju Mekala
> Subject: Re: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal.
> 
> On 06/30/2014 11:32 AM, Ajit Kumar Agarwal wrote:
>>     Signed-off-by:Ajit Agarwal ajitkum@xilinx.com
>>
>>>> In this case is it correct to say
>>>> If (tdesc  == NULL)
>>>>   tdesc = tdesc_microblaze;
>>>>
>>>> instead of tdesc_microblaze_with_stack_protect?
>>>>>> Yes.
>> Instead of tdesc_microblaze_with_stack_protect if I use tdesc_microblaze  the "G Packet message is too long" error is not resolved.
> 
>>> Then it sounds like the G packet size guesses you're adding aren't actually triggering.  Why?
> 
> I have checked the guesses are actually triggering as it works fine 
> with backward compatibility with the Designs there is no stack-protect registers. For the Design that has the Stack protect register, it reports the message " G packet too long ".

>>If the G guess is triggering OK, and so GDB picks the description with the stack protect registers based on the G packet size, why would the default target description matter at all?  If it >>does, then something sounds broken.

In Microblaze Port the gdbarch_info has  tdesc always  set to NULL. Thus the gdbarch_init doesn't populates the register info based feature target description. Though the microblaze_register_g_packet_guesses is called by gdbarch_init and  register the guesses,  but the gdbarch_info.tdesc == NULL always and  features target description info is populated based on default target description.

>>What are you doing different from the other ports that use this mechanism?

In Microblaze port as compared to other architecture port lacking the function microblaze_read_description which sets the tdesc and the architecture set up based the Linux Kernel and Ptrace parameters. The other architecture  like ARM and MIPS has  arm_read_description and arm_linux_read_description which sets the tdesc info current()->Process.

>>Please debug this a bit further.

--
Pedro Alves


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