Remove Cell Broadband Engine debugging support
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 20 Sep 2019 21:06:57 +0000 (23:06 +0200)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 20 Sep 2019 21:06:57 +0000 (23:06 +0200)
commitabf516c6931af1683d1e51203de1ca01467f9f85
treef2d4e09a3840ac22f5af5584348fbdf97e0c8aca
parent78e8cb91cd1374ac59cc8bf6509fa70bde74ff1a
Remove Cell Broadband Engine debugging support

This patch implements removal of Cell/B.E. support, including
- Support for the spu-*-* target
- Support for native stand-alone SPU debugging
- Support for integrated debugging of combined PPU/SPU applications
- Remote debugging (gdbserver) support for all the above.

The patch also removes the TARGET_OBJECT_SPU target object type,
as this is available only on Cell/B.E. targets, including
- Native Linux support
- Core file support (including core file generation)
- Remote target support, including removal of the qXfer:spu:read
  and qXfer:spu:write remote protocal packets and associated
  support in gdbserver.

gdb/ChangeLog
2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>

* NEWS: Mention that Cell/B.E. debugging support was removed.
* MAINTAINERS: Remove spu target.

* config/djgpp/fnchange.lst: Remove entries for removed files.

* Makefile.in (ALL_TARGET_OBS): Remove solib-spu.o,
spu-multiarch.o, and spu-tdep.o.
(HFILES_NO_SRCDIR): Remove solib-spu.h and spu-tdep.h.
(ALLDEPFILES): Remove solib-spu.c, spu-linux-nat.c,
spu-multiarch.c, and spu-tdep.c.
* spu-linux-nat.c: Remove file.
* spu-multiarch.c: Remove file.
* spu-tdep.c: Remove file.
* spu-tdep.h: Remove file.
* solib-spu.c: Remove file.
* solib-spu.h: Remove file.

* configure.host (powerpc64*-*-linux*): Remove Cell/B.E. support.
* configure.nat (spu-linux): Remove.
* configure.tgt (powerpc*-*-linux*): Remove solib-spu.o and
solib-multiarch.o from gdb_target_obs.
(spu*-*-*): Remove.

* arch/ppc-linux-common.h (struct ppc_linux_features): Remove "cell"
feature flag.
(ppc_linux_no_features): Update.
* arch/ppc-linux-common.c (ppc_linux_match_description): Remove
Cell/B.E. support.
* arch/ppc-linux-tdesc.h (tdesc_powerpc_cell32l): Remove declaration.
(tdesc_powerpc_cell64l): Likewise.
* nat/ppc-linux.h (PPC_FEATURE_CELL): Remove.
* ppc-linux-nat.c (ppc_linux_nat_target::read_description): Remove
Cell/B.E. support.
* ppc-linux-tdep.h: Do not include "solib-spu.h" or "spu-tdep.h".
Do not include "features/rs6000/powerpc-cell32l.c" or
"features/rs6000/powerpc-cell64l.c".
(ppc_linux_spu_section): Remove.
(ppc_linux_core_read_description): Remove Cell/B.E. support.
(spe_context_objfile, spe_context_lm_addr, spe_context_offset,
spe_context_cache_ptid, spe_context_cache_ptid): Remove.
(ppc_linux_spe_context_lookup): Remove.
(ppc_linux_spe_context_inferior_created): Remove.
(ppc_linux_spe_context_solib_loaded): Remove.
(ppc_linux_spe_context_solib_unloaded): Remove.
(ppc_linux_spe_context): Remove.
(struct ppu2spu_cache): Remove.
(ppu2spu_prev_arch, ppu2spu_this_id, ppu2spu_prev_register): Remove.
(struct ppu2spu_data): Remove.
(ppu2spu_unwind_register, ppu2spu_sniffer, ppu2spu_dealloc_cache,
ppu2spu_unwind): Remove.
(ppc_linux_init_abi): Remove Cell/B.E. support.
* rs6000-tdep.h (rs6000_gdbarch_init): Remove Cell/B.E. support.

* features/Makefile (rs6000/powerpc-cell32l-expedite): Remove.
(rs6000/powerpc-cell64l-expedite): Likewise
(WHICH): Remove rs6000/powerpc-cell32l and rs6000/powerpc-cell64l.
(XMLTOC): Remove rs6000/powerpc-cell32l.xml and
rs6000/powerpc-cell64l.xml.
* features/rs6000/powerpc-cell32l.xml: Remove.
* features/rs6000/powerpc-cell64l.xml: Likewise.
* features/rs6000/powerpc-cell32l.c: Remove generated file.
* features/rs6000/powerpc-cell64l.c: Likewise.
* regformats/rs6000/powerpc-cell32l.dat: Remove generated file.
* regformats/rs6000/powerpc-cell64l.dat: Likewise.
* regformats/reg-spu.dat: Remove.

* target.h (enum target_object): Remove TARGET_OBJECT_SPU.
* corelow.c (struct spuid_list): Remove.
(add_to_spuid_list): Remove.
(core_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
* remote.c (PACKET_qXfer_spu_read, PACKET_qXfer_spu_write): Remove.
(remote_protocol_features): Remove associated entries.
(_initialize_remote): No longer initialize them.
(remote_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
* linux-nat.c (SPUFS_MAGIC): Remove.
(linux_proc_xfer_spu): Remove.
(spu_enumerate_spu_ids): Remove.
(linux_nat_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
* linux-tdep.c (-linux_spu_make_corefile_notes): Remove.
(linux_make_corefile_notes): No longer call it.

* regcache.c (cooked_read_test): Remove bfd_arch_spu special case.
(cooked_write_test): Likewise.

gdb/doc/ChangeLog
2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>

* doc/gdb.texinfo (Remote Configuration): Remove documentation for
qXfer:spu:read and qXfer:spu:write.
(General Query Packets): Likewise.
(Cell Broadband Engine SPU architecture): Remove subsection.

gdb/gdbserver/ChangeLog
2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>

* configure.srv (ipa_ppc_linux_regobj): Remove powerpc-cell32l-ipa.o
and powerpc-cell64l-ipa.o.
(powerpc*-*-linux*): Remove powerpc-cell32l.o and powerpc-cell64l.o
from srv_regobj.  Remove rs6000/powerpc-cell32l.xml and
rs6000/powerpc-cell64l.xml from srv_xmlfiles.
(spu*-*-*): Remove.

* spu-low.c: Remove file.

* linux-ppc-low.c (INSTR_SC, NR_spu_run): Remove.
(parse_spufs_run): Remove.
(ppc_get_pc): Remove Cell/B.E. support.
(ppc_set_pc): Likewise.
(ppc_breakpoint_at): Likewise.
(ppc_arch_setup): Likewise.
(ppc_get_ipa_tdesc_idx): Do not handle tdesc_powerpc_cell64l or
tdesc_powerpc_cell32l.
(initialize_low_arch): Do not call init_registers_powerpc_cell64l
or init_registers_powerpc_cell32l.
* linux-ppc-ipa.c (get_ipa_tdesc): Do not handle PPC_TDESC_CELL.
(initialize_low_tracepoint): Do not call init_registers_powerpc_cell64l
or init_registers_powerpc_cell32l.
* linux-ppc-tdesc-init.h (PPC_TDESC_CELL): Mark as unused.
(init_registers_powerpc_cell32l): Remove prototype.
(init_registers_powerpc_cell64l): Likewise.

* target.h (struct target_ops): Remove qxfer_spu member.
* server.c (handle_qxfer_spu): Remove.
(qxfer_packets): Remove entry for "spu".
(handle_query): No longer support qXfer:spu:read or qXfer:spu:write.
* linux-low.c (SPUFS_MAGIC): Remove.
(spu_enumerate_spu_ids): Remove.
(linux_qxfer_spu): Remove.
(linux_target_ops): Remove qxfer_spu member.
* lynx-low.c (lynx_target_ops): Remove qxfer_spu member.
* nto-low.c (nto_target_ops): Remove qxfer_spu member.
* win32-low.c (win32_target_ops): Remove qxfer_spu member.

gdb/testsuite/ChangeLog
2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>

* gdb.arch/spu-info.exp: Remove file.
* gdb.arch/spu-info.c: Remove file.
* gdb.arch/spu-ls.exp: Remove file.
* gdb.arch/spu-ls.c: Remove file.

* gdb.asm/asm-source.exp: Remove support for spu*-*-*.
* gdb.asm/spu.inc: Remove file.

* gdb.base/dump.exp: Remove support for spu*-*-*.
* gdb.base/stack-checking.exp: Likewise.
* gdb.base/overlays.exp: Likewise.
* gdb.base/ovlymgr.c: Likewise.
* gdb.base/spu.ld: Remove file.

* gdb.cp/bs15503.exp: Remove support for spu*-*-*.
* gdb.cp/cpexprs.exp: Likewise.
* gdb.cp/exception.exp: Likewise.
* gdb.cp/gdb2495.exp: Likewise.
* gdb.cp/mb-templates.exp: Likewise.
* gdb.cp/pr9167.exp: Likewise.
* gdb.cp/userdef.exp: Likewise.

* gdb.xml/tdesc-regs.exp: Remove support for spu*-*-*.

* gdb.cell: Remove directory.
* lib/cell.exp: Remove file.
108 files changed:
gdb/ChangeLog
gdb/MAINTAINERS
gdb/Makefile.in
gdb/NEWS
gdb/arch/ppc-linux-common.c
gdb/arch/ppc-linux-common.h
gdb/arch/ppc-linux-tdesc.h
gdb/config/djgpp/fnchange.lst
gdb/configure.host
gdb/configure.nat
gdb/configure.tgt
gdb/corelow.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/features/Makefile
gdb/features/rs6000/powerpc-cell32l.c [deleted file]
gdb/features/rs6000/powerpc-cell32l.xml [deleted file]
gdb/features/rs6000/powerpc-cell64l.c [deleted file]
gdb/features/rs6000/powerpc-cell64l.xml [deleted file]
gdb/gdbserver/ChangeLog
gdb/gdbserver/configure.srv
gdb/gdbserver/linux-low.c
gdb/gdbserver/linux-ppc-ipa.c
gdb/gdbserver/linux-ppc-low.c
gdb/gdbserver/linux-ppc-tdesc-init.h
gdb/gdbserver/lynx-low.c
gdb/gdbserver/nto-low.c
gdb/gdbserver/server.c
gdb/gdbserver/spu-low.c [deleted file]
gdb/gdbserver/target.h
gdb/gdbserver/win32-low.c
gdb/linux-nat.c
gdb/linux-tdep.c
gdb/nat/ppc-linux.h
gdb/ppc-linux-nat.c
gdb/ppc-linux-tdep.c
gdb/regcache.c
gdb/regformats/reg-spu.dat [deleted file]
gdb/regformats/rs6000/powerpc-cell32l.dat [deleted file]
gdb/regformats/rs6000/powerpc-cell64l.dat [deleted file]
gdb/remote.c
gdb/rs6000-tdep.c
gdb/solib-spu.c [deleted file]
gdb/solib-spu.h [deleted file]
gdb/spu-linux-nat.c [deleted file]
gdb/spu-multiarch.c [deleted file]
gdb/spu-tdep.c [deleted file]
gdb/spu-tdep.h [deleted file]
gdb/target.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/spu-info.c [deleted file]
gdb/testsuite/gdb.arch/spu-info.exp [deleted file]
gdb/testsuite/gdb.arch/spu-ls.c [deleted file]
gdb/testsuite/gdb.arch/spu-ls.exp [deleted file]
gdb/testsuite/gdb.asm/asm-source.exp
gdb/testsuite/gdb.asm/spu.inc [deleted file]
gdb/testsuite/gdb.base/dump.exp
gdb/testsuite/gdb.base/overlays.exp
gdb/testsuite/gdb.base/ovlymgr.c
gdb/testsuite/gdb.base/spu.ld [deleted file]
gdb/testsuite/gdb.base/stack-checking.c
gdb/testsuite/gdb.cell/arch.exp [deleted file]
gdb/testsuite/gdb.cell/break-spu.c [deleted file]
gdb/testsuite/gdb.cell/break.c [deleted file]
gdb/testsuite/gdb.cell/break.exp [deleted file]
gdb/testsuite/gdb.cell/bt-spu.c [deleted file]
gdb/testsuite/gdb.cell/bt.c [deleted file]
gdb/testsuite/gdb.cell/bt.exp [deleted file]
gdb/testsuite/gdb.cell/bt2-spu.c [deleted file]
gdb/testsuite/gdb.cell/core.exp [deleted file]
gdb/testsuite/gdb.cell/coremaker-spu.c [deleted file]
gdb/testsuite/gdb.cell/coremaker.c [deleted file]
gdb/testsuite/gdb.cell/data-spu.c [deleted file]
gdb/testsuite/gdb.cell/data.c [deleted file]
gdb/testsuite/gdb.cell/data.exp [deleted file]
gdb/testsuite/gdb.cell/dwarfaddr.S [deleted file]
gdb/testsuite/gdb.cell/dwarfaddr.exp [deleted file]
gdb/testsuite/gdb.cell/ea-cache-spu.c [deleted file]
gdb/testsuite/gdb.cell/ea-cache.c [deleted file]
gdb/testsuite/gdb.cell/ea-cache.exp [deleted file]
gdb/testsuite/gdb.cell/ea-standalone.c [deleted file]
gdb/testsuite/gdb.cell/ea-standalone.exp [deleted file]
gdb/testsuite/gdb.cell/ea-test.c [deleted file]
gdb/testsuite/gdb.cell/ea-test.exp [deleted file]
gdb/testsuite/gdb.cell/f-regs.exp [deleted file]
gdb/testsuite/gdb.cell/fork-spu.c [deleted file]
gdb/testsuite/gdb.cell/fork.c [deleted file]
gdb/testsuite/gdb.cell/fork.exp [deleted file]
gdb/testsuite/gdb.cell/gcore.exp [deleted file]
gdb/testsuite/gdb.cell/mem-access-spu.c [deleted file]
gdb/testsuite/gdb.cell/mem-access.c [deleted file]
gdb/testsuite/gdb.cell/mem-access.exp [deleted file]
gdb/testsuite/gdb.cell/ptype.exp [deleted file]
gdb/testsuite/gdb.cell/registers.exp [deleted file]
gdb/testsuite/gdb.cell/size-spu.c [deleted file]
gdb/testsuite/gdb.cell/size.c [deleted file]
gdb/testsuite/gdb.cell/sizeof.exp [deleted file]
gdb/testsuite/gdb.cell/solib-symbol.exp [deleted file]
gdb/testsuite/gdb.cell/solib.exp [deleted file]
gdb/testsuite/gdb.cp/bs15503.exp
gdb/testsuite/gdb.cp/cpexprs.exp
gdb/testsuite/gdb.cp/exception.exp
gdb/testsuite/gdb.cp/gdb2495.exp
gdb/testsuite/gdb.cp/mb-templates.exp
gdb/testsuite/gdb.cp/pr9167.exp
gdb/testsuite/gdb.cp/userdef.exp
gdb/testsuite/gdb.xml/tdesc-regs.exp
gdb/testsuite/lib/cell.exp [deleted file]