From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27150 invoked by alias); 1 Feb 2006 21:37:50 -0000 Received: (qmail 27139 invoked by uid 22791); 1 Feb 2006 21:37:49 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Wed, 01 Feb 2006 21:37:47 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1F4Pfd-0003te-Ct; Wed, 01 Feb 2006 16:37:45 -0500 Date: Wed, 01 Feb 2006 21:37:00 -0000 From: Daniel Jacobowitz To: Girish Shilamkar Cc: gdb-patches@sources.redhat.com Subject: Re: Version string added to gdbserver Message-ID: <20060201213745.GA14187@nevyn.them.org> Mail-Followup-To: Girish Shilamkar , gdb-patches@sources.redhat.com References: <1138705200.3213.12.camel@krypton> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1138705200.3213.12.camel@krypton> User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00010.txt.bz2 On Tue, Jan 31, 2006 at 04:30:00PM +0530, Girish Shilamkar wrote: > Hi, > gdbserver Makefile consists of following line: > > # Perhaps should come from parent Makefile > VERSION = gdbserver-4.12.3 > > In order to know which gdbserver is being run, the following patch > prints gdbserver version when gdbserver is started. > Should the gdb version also be displayed, from which gdbserver was > built (i.e gdb 6.4 etc), since gdbserver built from different gdb > versions may be different even if gdbserver version is same? It ought to just use the gdb version number; I've checked in this alternate patch. Thanks for the report. -- Daniel Jacobowitz CodeSourcery 2006-02-01 Daniel Jacobowitz * Makefile.in (OBS): Add version.o. (STAGESTUFF): Delete. (version.o): Add dependencies. (version.c): Replace rule. (clean): Remove version.c. * server.c (gdbserver_version): New. (gdbserver_usage): Use printf. (main): Handle --version and --help. * server.h (version, host_name): Add declarations. Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/Makefile.in,v retrieving revision 1.32 diff -u -p -r1.32 Makefile.in --- Makefile.in 23 Dec 2005 18:11:55 -0000 1.32 +++ Makefile.in 1 Feb 2006 21:36:00 -0000 @@ -1,5 +1,6 @@ # Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. # This file is part of GDB. @@ -134,7 +135,7 @@ SOURCES = $(SFILES) TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} OBS = inferiors.o regcache.o remote-utils.o server.o signals.o target.o \ - utils.o \ + utils.o version.o \ mem-break.o \ $(DEPFILES) GDBSERVER_LIBS = @GDBSERVER_LIBS@ @@ -200,6 +201,7 @@ tags: TAGS clean: rm -f *.o ${ADD_FILES} *~ + rm -f version.c rm -f gdbserver gdbreplay core make.log rm -f reg-arm.c reg-i386.c reg-ia64.c reg-m32r.c reg-m68k.c reg-mips.c rm -f reg-ppc.c reg-sh.c reg-x86-64.c reg-i386-linux.c @@ -209,8 +211,6 @@ maintainer-clean realclean distclean: cl 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="" CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status @@ -223,8 +223,13 @@ config.status: configure configure.srv force: -version.c: Makefile - echo 'char *version = "$(VERSION)";' >version.c +version.c: Makefile $(srcdir)/../version.in + rm -f version.c-tmp version.c + echo '#include "server.h"' >> version.c-tmp + echo 'const char version[] = "'"`sed q ${srcdir}/../version.in`"'";' >> version.c-tmp + echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp + mv version.c-tmp version.c +version.o: version.c $(server_h) # GNU Make has an annoying habit of putting *all* the Makefile variables # into the environment, unless you include this target as a circumvention. Index: server.c =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/server.c,v retrieving revision 1.30 diff -u -p -r1.30 server.c --- server.c 23 Dec 2005 18:11:55 -0000 1.30 +++ server.c 1 Feb 2006 21:36:00 -0000 @@ -1,6 +1,6 @@ /* Main code for remote server for GDB. Copyright (C) 1989, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004, - 2005 + 2005, 2006 Free Software Foundation, Inc. This file is part of GDB. @@ -309,13 +309,23 @@ myresume (int step, int sig) static int attached; static void +gdbserver_version (void) +{ + printf ("GNU gdbserver %s\n" + "Copyright (C) 2006 Free Software Foundation, Inc.\n" + "gdbserver is free software, covered by the GNU General Public License.\n" + "This gdbserver was configured as \"%s\"\n", + version, host_name); +} + +static void gdbserver_usage (void) { - error ("Usage:\tgdbserver COMM PROG [ARGS ...]\n" - "\tgdbserver COMM --attach PID\n" - "\n" - "COMM may either be a tty device (for serial debugging), or \n" - "HOST:PORT to listen for a TCP connection.\n"); + printf ("Usage:\tgdbserver COMM PROG [ARGS ...]\n" + "\tgdbserver COMM --attach PID\n" + "\n" + "COMM may either be a tty device (for serial debugging), or \n" + "HOST:PORT to listen for a TCP connection.\n"); } int @@ -331,6 +341,18 @@ main (int argc, char *argv[]) int pid; char *arg_end; + if (argc >= 2 && strcmp (argv[1], "--version") == 0) + { + gdbserver_version (); + exit (0); + } + + if (argc >= 2 && strcmp (argv[1], "--help") == 0) + { + gdbserver_usage (); + exit (0); + } + if (setjmp (toplevel)) { fprintf (stderr, "Exiting\n"); @@ -354,7 +376,10 @@ main (int argc, char *argv[]) } if (argc < 3 || bad_attach) - gdbserver_usage(); + { + gdbserver_usage (); + exit (1); + } initialize_low (); Index: server.h =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/server.h,v retrieving revision 1.21 diff -u -p -r1.21 server.h --- server.h 23 Dec 2005 18:11:55 -0000 1.21 +++ server.h 1 Feb 2006 21:36:00 -0000 @@ -181,4 +181,8 @@ void init_registers (void); ? (registers_length () + 32) \ : 2000) +/* Version information, from version.c. */ +extern const char version[]; +extern const char host_name[]; + #endif /* SERVER_H */