[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Rationalise debugger stuff in the tree.



ChangeSet 1.1670, 2005/06/04 14:07:05+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Rationalise debugger stuff in the tree.
        
        Within Xen itself, remove PDB references and fold into domu_debug.
        When domu_debug hits a breakpoint, it pauses all vcpus of the domain
        and raises VIRQ_DEBUGGER (not VIRQ_PDB). The debugger in domain0 can
        either poll pause status or bind to VIRQ_DEBUGGER. Before debugging
        a breakpointed domain the debugger should issue PAUSEDOMAIN itself, or
        it is not guaranteed to see paused state of the domain!
        
        Outside Xen there's a new dir tools/debugger, containing gdb, pdb and
        a new library libxendebug (used by pdb). I also think the ptrace
        functions in libxc also ought to be moved out: either to libxendebug
        or to a new library libxenptrace.
        
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in     |  308 
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure       | 4650 
++++++++++
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure.in    |  121 
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure.srv   |   75 
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/linux-xen-low.c |  556 
+
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/server.c        |  639 
+
 b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/mkbuildtree                   |  115 
 b/tools/debugger/gdb/gdbbuild                                           |   23 
 b/tools/debugger/libxendebug/Makefile                                   |   72 
 b/tools/debugger/libxendebug/list.h                                     |  186 
 b/tools/debugger/libxendebug/xendebug.c                                 |  599 
+
 b/tools/debugger/libxendebug/xendebug.h                                 |   78 
 b/tools/debugger/pdb/Domain.ml                                          |   63 
 b/tools/debugger/pdb/Domain.mli                                         |   38 
 b/tools/debugger/pdb/Intel.ml                                           |   71 
 b/tools/debugger/pdb/Makefile                                           |   56 
 b/tools/debugger/pdb/OCamlMakefile                                      | 1149 
++
 b/tools/debugger/pdb/PDB.ml                                             |  180 
 b/tools/debugger/pdb/Process.ml                                         |   39 
 b/tools/debugger/pdb/Process.mli                                        |   20 
 b/tools/debugger/pdb/Util.ml                                            |  153 
 b/tools/debugger/pdb/debugger.ml                                        |  315 
 b/tools/debugger/pdb/evtchn.ml                                          |   32 
 b/tools/debugger/pdb/evtchn.mli                                         |   14 
 b/tools/debugger/pdb/pdb_caml_xc.c                                      |  732 
+
 b/tools/debugger/pdb/pdb_xen.c                                          |   93 
 b/tools/debugger/pdb/server.ml                                          |  219 
 b/tools/libxc/Makefile                                                  |    3 
 b/tools/libxc/xc.h                                                      |    5 
 b/tools/libxc/xc_private.c                                              |    5 
 b/tools/libxc/xc_private.h                                              |    2 
 b/xen/Rules.mk                                                          |    5 
 b/xen/common/domain.c                                                   |   20 
 b/xen/include/asm-x86/debugger.h                                        |   53 
 b/xen/include/public/xen.h                                              |    2 
 b/xen/include/xen/sched.h                                               |    1 
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in                |  308 
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure                  | 4650 
----------
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure.in               |  121 
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/configure.srv              |   75 
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/linux-xen-low.c            |  556 
-
 tools/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/server.c                   |  639 
-
 tools/gdb/gdb-6.2.1-xen-sparse/mkbuildtree                              |  115 
 tools/gdb/gdbbuild                                                      |   23 
 tools/libxc/list.h                                                      |  186 
 tools/libxc/xc_debug.c                                                  |  580 
-
 tools/libxc/xc_debug.h                                                  |   76 
 tools/pdb/Domain.ml                                                     |   63 
 tools/pdb/Domain.mli                                                    |   38 
 tools/pdb/Intel.ml                                                      |   71 
 tools/pdb/Makefile                                                      |   54 
 tools/pdb/OCamlMakefile                                                 | 1149 
--
 tools/pdb/PDB.ml                                                        |  180 
 tools/pdb/Process.ml                                                    |   39 
 tools/pdb/Process.mli                                                   |   20 
 tools/pdb/Util.ml                                                       |  153 
 tools/pdb/debugger.ml                                                   |  315 
 tools/pdb/evtchn.ml                                                     |   32 
 tools/pdb/evtchn.mli                                                    |   14 
 tools/pdb/pdb_caml_xc.c                                                 |  732 
-
 tools/pdb/pdb_xen.c                                                     |   93 
 tools/pdb/server.ml                                                     |  219 
 62 files changed, 10633 insertions(+), 10560 deletions(-)


diff -Nru a/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in 
b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
--- /dev/null   Wed Dec 31 16:00:00 196900
+++ b/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in 
2005-06-04 10:02:48 -04:00
@@ -0,0 +1,308 @@
+# Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+host_alias = @host_alias@
+target_alias = @target_alias@
+program_transform_name = @program_transform_name@
+bindir = @bindir@
+libdir = @libdir@
+tooldir = $(libdir)/$(target_alias)
+
+datadir = @datadir@
+mandir = @mandir@
+man1dir = $(mandir)/man1
+man2dir = $(mandir)/man2
+man3dir = $(mandir)/man3
+man4dir = $(mandir)/man4
+man5dir = $(mandir)/man5
+man6dir = $(mandir)/man6
+man7dir = $(mandir)/man7
+man8dir = $(mandir)/man8
+man9dir = $(mandir)/man9
+infodir = @infodir@
+htmldir = $(prefix)/html
+includedir = @includedir@
+
+SHELL = /bin/sh
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+
+CC = @CC@
+
+# Directory containing source files.  Don't clean up the spacing,
+# this exact string is matched for by the "configure" script.
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+# It is also possible that you will need to add -I/usr/include/sys to the
+# CFLAGS section if your system doesn't have fcntl.h in /usr/include (which 
+# is where it should be according to Posix).
+
+# Set this up with gcc if you have gnu ld and the loader will print out
+# line numbers for undefinded refs.
+#CC-LD=gcc -static
+CC-LD=${CC}
+
+# Where is the "include" directory?  Traditionally ../include or ./include
+INCLUDE_DIR =  ${srcdir}/../../include
+INCLUDE_DEP = $$(INCLUDE_DIR)
+
+# Where are the BFD library?
+BFD_DIR = ../../bfd
+BFD = $(BFD_DIR)/libbfd.a
+BFD_SRC = $(srcdir)/$(BFD_DIR)
+BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC)
+
+# Where is the source dir for the READLINE library?  Traditionally in .. or .
+# (For the binary library built from it, we use ${READLINE_DIR}${subdir}.)
+READLINE_DIR = ${srcdir}/../readline
+READLINE_DEP = $$(READLINE_DIR)
+
+# All the includes used for CFLAGS and for lint.
+# -I. for config files.
+# -I${srcdir} for our headers.
+# -I$(srcdir)/../regformats for regdef.h.
+INCLUDE_CFLAGS = -I. -I${srcdir} -I$(srcdir)/../regformats -I$(INCLUDE_DIR)  
-I../../../../../libxc/
+
+# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
+# from the config/ directory.
+GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS}
+#PROFILE_CFLAGS = -pg
+
+WARN_CFLAGS = -Wall
+
+# CFLAGS is specifically reserved for setting from the command line
+# when running make.  I.E.  "make CFLAGS=-Wmissing-prototypes".
+CFLAGS = @CFLAGS@
+
+# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
+INTERNAL_CFLAGS =  $(WARN_CFLAGS) ${CFLAGS} ${GLOBAL_CFLAGS} \
+       ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${BFD_CFLAGS}
+
+# LDFLAGS is specifically reserved for setting from the command line
+# when running make.
+LDFLAGS = @LDFLAGS@
+
+# Perhaps should come from parent Makefile
+VERSION = gdbserver-4.12.3
+DIST=gdb
+
+LINT=/usr/5bin/lint
+LINTFLAGS= $(BFD_CFLAGS)
+
+# All source files that go into linking GDB remote server.
+
+SFILES=        $(srcdir)/gdbreplay.c $(srcdir)/inferiors.c \
+       $(srcdir)/mem-break.c $(srcdir)/proc-service.c $(srcdir)/regcache.c \
+       $(srcdir)/remote-utils.c $(srcdir)/server.c $(srcdir)/target.c \
+       $(srcdir)/thread-db.c $(srcdir)/utils.c \
+       $(srcdir)/linux-arm-low.c $(srcdir)/linux-i386-low.c \
+       $(srcdir)/i387-fp.c \
+       $(srcdir)/linux-ia64-low.c $(srcdir)/linux-low.c \
+       $(srcdir)/linux-m68k-low.c $(srcdir)/linux-mips-low.c \
+       $(srcdir)/linux-ppc-low.c $(srcdir)/linux-s390-low.c \
+       $(srcdir)/linux-sh-low.c $(srcdir)/linux-x86-64-low.c
+
+DEPFILES = @GDBSERVER_DEPFILES@
+
+SOURCES = $(SFILES)
+TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} 
+
+OBS = inferiors.o regcache.o remote-utils.o server.o signals.o target.o \
+       utils.o \
+       mem-break.o \
+       $(DEPFILES)
+GDBSERVER_LIBS = @GDBSERVER_LIBS@
+
+# Prevent Sun make from putting in the machine type.  Setting
+# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
+.c.o:
+       ${CC} -c ${INTERNAL_CFLAGS} $<
+
+all: gdbserver-xen gdbreplay
+
+# Traditionally "install" depends on "all".  But it may be useful
+# not to; for example, if the user has made some trivial change to a 
+# source file and doesn't care about rebuilding or just wants to save the
+# time it takes for make to check that all is up to date.
+# install-only is intended to address that need.
+install: all install-only
+install-only: 
+       n=`echo gdbserver-xen | sed '$(program_transform_name)'`; \
+       if [ x$$n = x ]; then n=gdbserver-xen; else true; fi; \
+       $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \
+       $(INSTALL_PROGRAM) gdbserver-xen $(DESTDIR)$(bindir)/$$n; \
+       $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man1dir); \
+       $(INSTALL_DATA) $(srcdir)/gdbserver.1 $(DESTDIR)$(man1dir)/$$n.1
+
+uninstall: force
+       n=`echo gdbserver-xen | sed '$(program_transform_name)'`; \
+       if [ x$$n = x ]; then n=gdbserver-xen; else true; fi; \
+       rm -f $(bindir)/$$n $(DESTDIR)$(man1dir)/$$n.1
+
+installcheck:
+check:
+info dvi:
+install-info:
+html:
+install-html:
+clean-info:
+
+gdbserver-xen: $(OBS) ${ADD_DEPS} ${CDEPS}
+       rm -f gdbserver-xen
+       ${CC-LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o gdbserver-xen $(OBS) \
+         $(GDBSERVER_LIBS) $(XM_CLIBS)
+
+gdbreplay: gdbreplay.o
+       rm -f gdbreplay
+       ${CC-LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o gdbreplay gdbreplay.o \
+         $(XM_CLIBS)
+
+# Put the proper machine-specific files first, so M-. on a machine
+# specific routine gets the one for the correct machine.
+# The xyzzy stuff below deals with empty DEPFILES
+TAGS:  ${TAGFILES}
+       etags `find ${srcdir}/../config -name $(TM_FILE) -print` \
+         `find ${srcdir}/../config -name ${XM_FILE} -print` \
+         `find ${srcdir}/../config -name ${NAT_FILE} -print` \
+         `for i in yzzy ${DEPFILES}; do \
+            if [ x$$i != xyzzy ]; then \
+              echo ${srcdir}/$$i | sed -e 's/\.o$$/\.c/' ; \
+            fi; \
+          done` \
+         ${TAGFILES}
+tags: TAGS
+
+clean:
+       rm -f *.o ${ADD_FILES} *~
+       rm -f gdbserver gdbreplay core make.log
+       rm -f reg-arm.c reg-i386.c reg-ia64.c reg-m68k.c reg-mips.c
+       rm -f reg-ppc.c reg-sh.c reg-x86-64.c reg-i386-linux.c
+
+maintainer-clean realclean distclean: clean
+       rm -f nm.h tm.h xm.h config.status config.h stamp-h config.log
+       rm -f Makefile
+
+STAGESTUFF=${OBS} ${TSOBS} ${NTSOBS} ${ADD_FILES} init.c init.o version.c gdb
+
+config.h: stamp-h ; @true
+stamp-h: config.in config.status
+       CONFIG_FILES="" $(SHELL) ./config.status
+
+Makefile: Makefile.in config.status
+       CONFIG_HEADERS="" $(SHELL) ./config.status
+
+config.status: configure configure.srv
+       $(SHELL) ./config.status --recheck
+
+force:
+
+version.c: Makefile
+       echo 'char *version = "$(VERSION)";' >version.c
+
+# GNU Make has an annoying habit of putting *all* the Makefile variables
+# into the environment, unless you include this target as a circumvention.
+# Rumor is that this will be fixed (and this target can be removed)
+# in GNU Make 4.0.
+.NOEXPORT:
+
+# GNU Make 3.63 has a different problem: it keeps tacking command line
+# overrides onto the definition of $(MAKE).  This variable setting
+# will remove them.
+MAKEOVERRIDES=
+
+gdb_proc_service_h = $(srcdir)/../gdb_proc_service.h $(srcdir)/../gregset.h
+regdat_sh = $(srcdir)/../regformats/regdat.sh
+regdef_h = $(srcdir)/../regformats/regdef.h
+regcache_h = $(srcdir)/regcache.h
+server_h = $(srcdir)/server.h $(regcache_h) config.h $(srcdir)/target.h \
+               $(srcdir)/mem-break.h
+
+inferiors.o: inferiors.c $(server_h)
+mem-break.o: mem-break.c $(server_h)
+proc-service.o: proc-service.c $(server_h) $(gdb_proc_service_h)
+regcache.o: regcache.c $(server_h) $(regdef_h)
+remote-utils.o: remote-utils.c terminal.h $(server_h)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.