[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] DSF GdbMemoryBlock endianness detection proposal
|
I haven't looked into the different solutions, but
I agree that using GDB should be done when possible.
Marc
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Giuseppe MONTALTO
> Sent: Monday, March 12, 2012 8:39 AM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] DSF GdbMemoryBlock endianness
> detection proposal
>
> Hi all!
>
> What about querying GDB for the endianess, instead of inspecting the
> memory block contents?
>
> Using the "show endian" GDB CLI command (or its MI equivalent) should
> be safer, especially when dealing with bi-endian targets, like SH,
> MIPS, PowerPC...
>
> Ciao,
> Giuseppe Montalto
>
> > -----Original Message-----
> > From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx]
> > On Behalf Of John Dallaway
> > Sent: Thursday, March 08, 2012 8:29 PM
> > To: Marc Khouzam
> > Cc: cdt-dev@xxxxxxxxxxx
> > Subject: Re: [cdt-dev] DSF GdbMemoryBlock endianness
> detection proposal
> >
> > Hi Marc
> >
> > Thank you for your response.
> >
> > The change I am proposing is small (certainly less than 250
> lines) and
> > non-invasive. There would be no API breakage - just a couple of new
> > constructors which are used internally. This is really more of a fix
> > than a new feature. The only effect will be that MemoryByte objects
> > will
> > be marked with correct endianness rather than always being marked
> > little
> > endian. In my experiments, this appears to be of little
> consequence for
> > the rest of CDT other than ensuring that the default presentation of
> > memory words in various memory renderers is correct for
> both big-endian
> > and little-endian targets.
> >
> > I would welcome some confirmation that the approach is a
> reasonable one
> > from anyone qualified to comment. Otherwise, I will proceed with
> > implementation and submit a patch for consideration in due course.
> >
> > John Dallaway
> >
> >
> > -------- Original Message --------
> > Subject: Re: [cdt-dev] DSF GdbMemoryBlock endianness
> detection proposal
> > Date: Thu, 8 Mar 2012 13:07:03 -0500
> > From: Marc Khouzam <marc.khouzam@xxxxxxxxxxxx>
> > Reply-To: CDT General developers list. <cdt-dev@xxxxxxxxxxx>
> > To: 'CDT General developers list.' <cdt-dev@xxxxxxxxxxx>
> > References: <4F58F2F2.1060501@xxxxxxxxxxxxxxx>
> >
> > Hi John,
> >
> > thanks for the contribution proposal.
> >
> > I personally don't have much experience with the memory feature,
> > so if no one else can help you, I will need to set some time
> > aside to get ramped-up. I don't think that will be possible
> > for the Juno timeframe for me.
> >
> > If someone else can help, please be aware that:
> > 1- CQ deadline is passed, so any contribution > 250 lines will
> > be tricky to accept for Juno
> > 2- API freeze for Juno is M6, March 23rd (2 weeks). However,
> > if needed and if no one objects, we usually accept changes until
> > M7 (May 11th).
> > 3- No API breakage is allowed for Juno (CDT 8.1)
> >
> > I just want to make sure you have realistic expectations about
> > getting this into Juno. Time has flown hasn't it.
> > But if not Juno, Kepler is right behind.
> >
> > Marc
> >
> >
> > > -----Original Message-----
> > > From: cdt-dev-bounces@xxxxxxxxxxx
> > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of John Dallaway
> > > Sent: Thursday, March 08, 2012 12:57 PM
> > > To: cdt-dev@xxxxxxxxxxx
> > > Subject: Re: [cdt-dev] DSF GdbMemoryBlock endianness
> > > detection proposal
> > >
> > > CDT team
> > >
> > > Are there any comments on this proposal before I start on the
> > > implementation? I would be intending to contribute this as a
> > > patch for Juno.
> > >
> > > John Dallaway
> > >
> > >
> > > -------- Original Message --------
> > > Subject: [cdt-dev] DSF GdbMemoryBlock endianness
> detection proposal
> > > Date: Mon, 05 Mar 2012 09:29:19 +0000
> > > From: John Dallaway <john@xxxxxxxxxxxxxxx>
> > > Reply-To: CDT General developers list. <cdt-dev@xxxxxxxxxxx>
> > > To: cdt-dev@xxxxxxxxxxx
> > >
> > > CDT team
> > >
> > > I've been looking at the DSF-GDB memory block implementation
> > > with a view
> > > to presenting memory words with correct endianness in the
> > > Memory view by
> > > default. First, a couple of observations:
> > >
> > > a) The current implementation of
> > > MIDataReadMemoryInfo.parseMemoryLines()
> > > always creates MemoryByte objects with the default flags
> (including
> > > ENDIANESS_KNOWN and excluding BIG_ENDIAN). This is clearly not
> > correct
> > > when the target is big endian.
> > >
> > > b) The CDT traditional memory rendering code uses the
> > > endianness of the
> > > zeroth byte of a MemoryBlock to determine whether to
> default to a big
> > > endian or little endian presentation. This behaviour seems
> > reasonable.
> > >
> > > My proposal is to implement alternative DSF MIDataReadMemory and
> > > MIDataReadMemoryInfo constructors that take a MemoryByte flag as a
> > > parameter. This flag would then be used to set the
> MemoryByte object
> > > endianness correctly. The original behaviour would be
> preserved when
> > > using the original constructors so there would be no
> > > compatibility issues.
> > >
> > > The target endianness could be retrieved at the DSF
> MIMemory service
> > > level using a GDB "show endian" command just before the
> first memory
> > > block read and then passed to MIDataReadMemory using the new
> > > constructor. The endianness information could be cached within the
> > DSF
> > > MIMemory object so would be retrieved only once per session.
> > >
> > > Would a patch along these lines be acceptable to the CDT
> committers?
> > >
> > > John Dallaway
> >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>