Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH 00/22 v3] [GDBserver] Multi-process + multi-arch
@ 2013-05-30 12:13 Pedro Alves
  2013-05-30 12:13 ` [PATCH 01/22] [GDBserver] Multi-process + multi-arch: core + GNU/Linux x86* Pedro Alves
                   ` (22 more replies)
  0 siblings, 23 replies; 38+ messages in thread
From: Pedro Alves @ 2013-05-30 12:13 UTC (permalink / raw)
  To: gdb-patches

History:
v3: constify target_desc pointers throughout.
    make globals output my regdat.sh static.
v2: Rebased on current mainline.  Adjust new ports.
v1: Initial post

For convenience, the whole series is also found at
https://github.com/palves/gdb/commits/multi-process-multi-arch-v3
git://github.com/palves/gdb.git multi-process-multi-arch-v3

Since http://sourceware.org/ml/gdb-patches/2012-11/msg00228.html, GDB
is prepared to handle the case of debugging programs of different
architectures (gdbarch's) simultaneously.  However, GDBserver still
isn't.  A simple example is debugging both a 32-bit and a 64-bit
program simultaneously on x86_64 (think following forks, and 32-bit
and/or 64-bit children being spawned), though more complicated
examples could be multi-core setups with processors on the same target
(e.g., x86_64 + ARM isn't uncommon these days).

The previous time I had posted this a year ago (v1), I had tested all
that I could find a machine to test on.  GDBserver hasn't changed that
much since, and most patches applied cleanly, so I skipped the very
time consuming retesting of non-x86 ports this time.  For v2/v3, I
re-checked things still build with a set of cross compilers though
(indicated in each individual patch).  A few archs were cross-compile
tested only even back in v1 (for I have no access to some archs), and
a few are still not tested at all, so it's quite possible that I broke
them.  We're still early enough in the release cycle that I'm not much
concerned with port breakage, as any necessary fix should be trivial.

The first patch does the core work, and adjusts the GNU/Linux
x86/x86_64 port to interface changes.  The build is then broken for
all other ports after patch 1.  All the subsequent patches then fix
each port one by one.  In order to try to keep the tree building at
all revisions, all GDBserver patches will be consolidated into a
single CVS commit; I've kept them separate to ease development,
testing, and review.

The x86 port was the one that had the most conflicts when rebasing to
current mainline.  I ended up doing things a little bit differently
here and there.

Since I first posted this, GDBserver gained a few new ports -- Nios2,
Aarch64 and TILE-Gx.  I adjusted them on v2.  I plan to push this in
soon, before yet another port comes along. :-)

---

Pedro Alves (22):
      [GDBserver] Multi-process + multi-arch: core + GNU/Linux x86*
      [GDBserver] Multi-process + multi-arch: GNU/Linux IA64
      [GDBserver] Multi-process + multi-arch: GNU/Linux SPARC
      [GDBserver] Multi-process + multi-arch: GNU/Linux PowerPC
      [GDBserver] Multi-process + multi-arch: GNU/Linux S/390
      [GDBserver] Multi-process + multi-arch: GNU/Linux MIPS
      [GDBserver] Multi-process + multi-arch: GNU/Linux ARM
      [GDBserver] Multi-process + multi-arch: GNU/Linux m68k
      [GDBserver] Multi-process + multi-arch: GNU/Linux SH
      [GDBserver] Multi-process + multi-arch: GNU/Linux Blackfin
      [GDBserver] Multi-process + multi-arch: GNU/Linux CRIS
      [GDBserver] Multi-process + multi-arch: GNU/Linux CRISv32
      [GDBserver] Multi-process + multi-arch: GNU/Linux M32R
      [GDBserver] Multi-process + multi-arch: GNU/Linux TI C6x
      [GDBserver] Multi-process + multi-arch: GNU/Linux Xtensa
      [GDBserver] Multi-process + multi-arch: GNU/Linux Nios 2
      [GDBserver] Multi-process + multi-arch: GNU/Linux Aarch64
      [GDBserver] Multi-process + multi-arch: GNU/Linux TILE-Gx
      [GDBserver] Multi-process + multi-arch: SPU
      [GDBserver] Multi-process + multi-arch: Windows
      [GDBserver] Multi-process + multi-arch: LynxOS
      [GDBserver] Multi-process + multi-arch: QNX NTO


 gdb/gdbserver/Makefile.in         |    7 -
 gdb/gdbserver/ax.c                |    2 
 gdb/gdbserver/i387-fp.c           |   34 ++-
 gdb/gdbserver/i387-fp.h           |    2 
 gdb/gdbserver/inferiors.c         |    1 
 gdb/gdbserver/linux-aarch64-low.c |   43 +++
 gdb/gdbserver/linux-amd64-ipa.c   |    6 
 gdb/gdbserver/linux-arm-low.c     |   91 +++++--
 gdb/gdbserver/linux-bfin-low.c    |   38 +++
 gdb/gdbserver/linux-cris-low.c    |   37 +++
 gdb/gdbserver/linux-crisv32-low.c |   52 ++++
 gdb/gdbserver/linux-i386-ipa.c    |    2 
 gdb/gdbserver/linux-ia64-low.c    |   44 +++
 gdb/gdbserver/linux-low.c         |  217 ++++++++++-------
 gdb/gdbserver/linux-low.h         |   72 +++++-
 gdb/gdbserver/linux-m32r-low.c    |   37 +++
 gdb/gdbserver/linux-m68k-low.c    |   50 ++++
 gdb/gdbserver/linux-mips-low.c    |  193 +++++++++++----
 gdb/gdbserver/linux-nios2-low.c   |   43 +++
 gdb/gdbserver/linux-ppc-low.c     |  181 +++++++++++---
 gdb/gdbserver/linux-s390-low.c    |  195 ++++++++++++---
 gdb/gdbserver/linux-sh-low.c      |   49 +++-
 gdb/gdbserver/linux-sparc-low.c   |   60 ++++-
 gdb/gdbserver/linux-tic6x-low.c   |   73 +++++-
 gdb/gdbserver/linux-tile-low.c    |   48 +++-
 gdb/gdbserver/linux-x86-low.c     |  467 ++++++++++++++++++++++++-------------
 gdb/gdbserver/linux-xtensa-low.c  |   61 ++++-
 gdb/gdbserver/lynx-i386-low.c     |    2 
 gdb/gdbserver/lynx-low.c          |    3 
 gdb/gdbserver/lynx-low.h          |    4 
 gdb/gdbserver/lynx-ppc-low.c      |    2 
 gdb/gdbserver/nto-low.c           |    6 
 gdb/gdbserver/nto-low.h           |    6 
 gdb/gdbserver/nto-x86-low.c       |    2 
 gdb/gdbserver/proc-service.c      |   10 -
 gdb/gdbserver/regcache.c          |  235 ++++++++++---------
 gdb/gdbserver/regcache.h          |   33 ++-
 gdb/gdbserver/remote-utils.c      |    9 -
 gdb/gdbserver/server.c            |   25 +-
 gdb/gdbserver/server.h            |    6 
 gdb/gdbserver/spu-low.c           |   10 +
 gdb/gdbserver/tdesc.c             |   66 +++++
 gdb/gdbserver/tdesc.h             |   64 +++++
 gdb/gdbserver/tracepoint.c        |   35 ++-
 gdb/gdbserver/win32-arm-low.c     |   11 +
 gdb/gdbserver/win32-i386-low.c    |    8 -
 gdb/gdbserver/win32-low.c         |   10 -
 gdb/gdbserver/win32-low.h         |    6 
 48 files changed, 1957 insertions(+), 701 deletions(-)
 create mode 100644 gdb/gdbserver/tdesc.c
 create mode 100644 gdb/gdbserver/tdesc.h

-- 
Pedro Alves


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2013-06-12 16:09 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-30 12:13 [PATCH 00/22 v3] [GDBserver] Multi-process + multi-arch Pedro Alves
2013-05-30 12:13 ` [PATCH 01/22] [GDBserver] Multi-process + multi-arch: core + GNU/Linux x86* Pedro Alves
2013-06-03  8:47   ` Yao Qi
2013-06-03 15:24     ` Pedro Alves
2013-05-30 12:14 ` [PATCH 03/22] [GDBserver] Multi-process + multi-arch: GNU/Linux SPARC Pedro Alves
2013-05-30 12:14 ` [PATCH 08/22] [GDBserver] Multi-process + multi-arch: GNU/Linux m68k Pedro Alves
2013-05-30 12:14 ` [PATCH 02/22] [GDBserver] Multi-process + multi-arch: GNU/Linux IA64 Pedro Alves
2013-05-30 12:14 ` [PATCH 06/22] [GDBserver] Multi-process + multi-arch: GNU/Linux MIPS Pedro Alves
2013-05-30 12:14 ` [PATCH 07/22] [GDBserver] Multi-process + multi-arch: GNU/Linux ARM Pedro Alves
2013-05-30 12:14 ` [PATCH 11/22] [GDBserver] Multi-process + multi-arch: GNU/Linux CRIS Pedro Alves
2013-05-30 12:14 ` [PATCH 09/22] [GDBserver] Multi-process + multi-arch: GNU/Linux SH Pedro Alves
2013-05-30 12:14 ` [PATCH 05/22] [GDBserver] Multi-process + multi-arch: GNU/Linux S/390 Pedro Alves
2013-05-30 12:14 ` [PATCH 10/22] [GDBserver] Multi-process + multi-arch: GNU/Linux Blackfin Pedro Alves
2013-05-30 12:14 ` [PATCH 04/22] [GDBserver] Multi-process + multi-arch: GNU/Linux PowerPC Pedro Alves
2013-05-30 12:15 ` [PATCH 13/22] [GDBserver] Multi-process + multi-arch: GNU/Linux M32R Pedro Alves
2013-05-30 12:15 ` [PATCH 18/22] [GDBserver] Multi-process + multi-arch: GNU/Linux TILE-Gx Pedro Alves
2013-05-30 12:15 ` [PATCH 17/22] [GDBserver] Multi-process + multi-arch: GNU/Linux Aarch64 Pedro Alves
2013-05-30 12:15 ` [PATCH 19/22] [GDBserver] Multi-process + multi-arch: SPU Pedro Alves
2013-05-30 12:15 ` [PATCH 15/22] [GDBserver] Multi-process + multi-arch: GNU/Linux Xtensa Pedro Alves
2013-05-30 12:15 ` [PATCH 14/22] [GDBserver] Multi-process + multi-arch: GNU/Linux TI C6x Pedro Alves
2013-06-03  9:15   ` Yao Qi
2013-06-03 15:25     ` Pedro Alves
2013-05-30 12:15 ` [PATCH 12/22] [GDBserver] Multi-process + multi-arch: GNU/Linux CRISv32 Pedro Alves
2013-05-30 12:15 ` [PATCH 16/22] [GDBserver] Multi-process + multi-arch: GNU/Linux Nios 2 Pedro Alves
2013-05-30 12:16 ` [PATCH 22/22] [GDBserver] Multi-process + multi-arch: QNX NTO Pedro Alves
2013-05-30 12:16 ` [PATCH 20/22] [GDBserver] Multi-process + multi-arch: Windows Pedro Alves
2013-05-30 12:16 ` [PATCH 21/22] [GDBserver] Multi-process + multi-arch: LynxOS Pedro Alves
2013-06-07 10:51 ` [COMMIT PATCH][GDBserver] Multi-process + multi-arch Pedro Alves
2013-06-07 10:57   ` Pedro Alves
2013-06-08  1:56   ` gdbserver regression [Re: [COMMIT PATCH][GDBserver] Multi-process + multi-arch] Jan Kratochvil
2013-06-10 10:24     ` Pedro Alves
2013-06-11 13:57     ` Pedro Alves
2013-06-11 15:44       ` Jan Kratochvil
2013-06-11 15:51         ` Pedro Alves
2013-06-11 18:07           ` Pedro Alves
2013-06-12 14:53             ` gdbserver regression #2 " Jan Kratochvil
2013-06-12 15:09               ` Pedro Alves
2013-06-12 16:47                 ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox