Re: [PATCH, testsuite] Don't run SREC, IHEX and TEKHEX tests for MIPS N64.

Ulrich Weigand
2013-07-04T13:22:55Z

Luis Machado wrote:
> On 07/03/2013 12:05 PM, Pedro Alves wrote:
> > On 07/02/2013 07:50 PM, Luis Machado wrote:
> >> -
> >> -if {[istarget "spu*-*-*"]} then {
> >> - # The internal address format used for the combined Cell/B.E.
> >> - # debugger requires 64-bit.
> >> - set is64bitonly "yes"
> >> -}
> >> -
> >
> > I'm not sure this equates to sizeof pointer == 64-bit.
> > This bit may need to be retained. [Adding Ulrich].
>
> Fair enough. Ulrich, let me know if the pointer check in the attached
> patch doesn't make sense for Cell BE.

No, the pointer check is not enough. The problem is that on Cell/B.E.,
GDB uses a (purely internal to GDB) address format to encode multiple
address spaces into a synthetic GDB address space. See the long
comment in spu-tdep.h for details.

The "restore" command needs a full internal 64-bit address on Cell/B.E.
to uniquely identify the location where to restore memory. Thus using
a data format that can only remember 32-bit addresses don't work:
http://sourceware.org/ml/gdb-patches/2008-09/msg00139.html

However, just testing the size of a pointer will return 32-bit on SPU,
because that's the ABI-defined pointer size (the 64 bits are purely
GDB internal). So I think Cell/B.E. / SPU will need to remain a
special case here for now.

Bye,
Ulrich

--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com