Re: [rfc/rft] ppc gdbserver: autodetect AltiVec and SPE

Daniel Jacobowitz
2008-04-20T14:28:13Z

On Sun, Apr 20, 2008 at 01:51:59AM -0300, Thiago Jung Bauermann wrote:
> No, it was a clean build. I got what's happening. The patch removed
> powerpc-e500.o from powerpc64-*-linux*, because e500 is 32-bit only. The
> call to init_registers_powerpc_e500 is protected by an #ifndef
> __powerpc64__, so it shouldn't be a problem. But in practice it is,
> because when using plain "../src/configure && make" in a ppc64 machine
> with a 32-bit default gcc, the target is autodetected to be
> powerpc64-unknown-linux-gnu. Thus, that call to
> init_registers_powerpc_e500 will be compiled in (it's a 32 bit
> compilation), but powerpc-e500.o won't be included (it's a powerpc64
> target).
>
> Is such way of compiling 32-bit GDB in a ppc64 machine with 32-bit
> default gcc not supported? Must one always use --target option to
> configure in such case?

I see. Anything is supported that we're willing to fix... The
simplest possible fix would be to add the e500 objects. Does
gdbserver work OK with this patch?

--
Daniel Jacobowitz
CodeSourcery

2008-04-20 Daniel Jacobowitz <dan@codesourcery.com>

* configure.srv: Add e500 objects even for powerpc64.

Index: configure.srv
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/configure.srv,v
retrieving revision 1.33
diff -u -p -r1.33 configure.srv
--- configure.srv 17 Apr 2008 21:22:41 -0000 1.33
+++ configure.srv 20 Apr 2008 14:27:03 -0000
@@ -106,7 +106,7 @@ case "${target}" in
srv_linux_usrregs=yes
srv_linux_thread_db=yes
;;
- powerpc64-*-linux*) srv_regobj="reg-ppc.o powerpc-32.o"
+ powerpc64-*-linux*) srv_regobj="reg-ppc.o powerpc-32.o powerpc-e500.o"
srv_regobj="${srv_regobj} reg-ppc64.o powerpc-64.o"
srv_tgtobj="linux-low.o linux-ppc-low.o"
srv_xmlfiles="rs6000/powerpc-32.xml"
@@ -115,6 +115,8 @@ case "${target}" in
srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
srv_linux_usrregs=yes
srv_linux_regsets=yes
srv_linux_thread_db=yes