Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [RFA] gdbserver 1/3 - top level config
@ 2002-02-05 14:46 Daniel Jacobowitz
  2002-02-06 16:34 ` Daniel Jacobowitz
  2002-02-13 20:20 ` Andrew Cagney
  0 siblings, 2 replies; 6+ messages in thread
From: Daniel Jacobowitz @ 2002-02-05 14:46 UTC (permalink / raw)
  To: gdb-patches

This is the first of three interdependent patches to revamp gdbserver. 
This first patch:
  - always builds gdbserver if it is configured
  - configures gdbserver only for Linux/{ARM,ia64,i386,m68k,mips,ppc,sh}.

Those seven targets will hereafter be referred to as "The Seven",
since I'm really tired of typing that list over and over :)

This disables all the non-Linux targets, which I'm reasonably certain
do not work.  At least the NetBSD targets should be very easily
reconstitutable.  It also disables s390 and x86-64.  That's just
because I didn't have the necessary information handy for either, or a
way to test either.  I'll try to get those two fixed soon, as well as
Sparc/Sparc64 which did not work at all.

Actually, reading over this list, I believe that SH support is actually
being contributed by this patch.  I did it six or eight months ago, but
in this new framework, so it couldn't be contributed before this.

This patch contains only changes to top-level configury.  OK to commit?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-02-05  Daniel Jacobowitz  <drow@mvista.com>

	* configure.tgt: Configure gdbserver only for known working
	targets.  Set ${build_gdbserver} instead of modifying ${configdirs}.
	* configure.in: Check ${build_gdbserver}.  Put gdbserver/ into
	SUBDIRS if it is configured.
	* configure: Regenerated.

Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.51
diff -u -r1.51 configure.tgt
--- configure.tgt	2002/01/24 02:48:04	1.51
+++ configure.tgt	2002/02/04 23:12:18
@@ -52,8 +52,8 @@
 arc-*-*)		gdb_target=arc ;;
 
 arm*-wince-pe)		gdb_target=wince ;;
-arm*-*-linux*)		gdb_target=linux 
-			configdirs="$configdirs gdbserver"
+arm*-*-linux*)		gdb_target=linux
+			build_gdbserver=yes
 			;;
 arm*-*-netbsd*)		gdb_target=nbsd ;;
 arm*-*-* | thumb*-*-* | strongarm*-*-*)
@@ -76,14 +76,12 @@
 fr30-*-elf*)		gdb_target=fr30 ;;
 
 
-hppa*-*-bsd*)		gdb_target=hppabsd
-		configdirs="${configdirs} gdbserver" ;;
+hppa*-*-bsd*)		gdb_target=hppabsd ;;
 hppa*-*-pro*)		gdb_target=hppapro ;;
 hppa*64*-*-hpux11*)	gdb_target=hppa64 ;;
 hppa*-*-hpux*)		gdb_target=hppahpux ;;
 hppa*-*-hiux*)		gdb_target=hppahpux ;;
-hppa*-*-osf*)		gdb_target=hppaosf
-		configdirs="${configdirs} gdbserver" ;;
+hppa*-*-osf*)		gdb_target=hppaosf ;;
 
 i[3456]86-sequent-bsd*)	gdb_target=symmetry ;;
 i[3456]86-sequent-sysv4*) gdb_target=ptx4 ;;
@@ -95,15 +93,12 @@
 i[3456]86-*-aix*)	gdb_target=i386aix ;;
 i[3456]86-*-bsd*)	gdb_target=i386bsd ;;
 i[3456]86-*-freebsd*)	gdb_target=fbsd ;;
-i[3456]86-*-netbsdelf*)	gdb_target=nbsdelf
-		configdirs="${configdirs} gdbserver" ;;
-i[3456]86-*-netbsd*)	gdb_target=nbsd 
-		configdirs="${configdirs} gdbserver" ;;
+i[3456]86-*-netbsdelf*)	gdb_target=nbsdelf ;;
+i[3456]86-*-netbsd*)	gdb_target=nbsd ;;
 i[3456]86-*-os9k)	gdb_target=i386os9k ;;
 i[3456]86-*-go32*)	gdb_target=i386aout ;;
 i[3456]86-*-msdosdjgpp*) gdb_target=go32 ;;
-i[3456]86-*-lynxos*)	gdb_target=i386lynx
-		configdirs="${configdirs} gdbserver" ;;
+i[3456]86-*-lynxos*)	gdb_target=i386lynx ;;
 i[3456]86-*-openbsd*)	gdb_target=obsd ;;
 i[3456]86-*-solaris*)	gdb_target=i386sol2 ;;
 i[3456]86-*-sysv4.2*)	gdb_target=i386v42mp ;;
@@ -116,9 +111,8 @@
 i[3456]86-*-sco*)	gdb_target=i386v ;;
 i[3456]86-*-sysv*)	gdb_target=i386v ;;
 i[3456]86-*-linux*)	gdb_target=linux
-		configdirs="${configdirs} gdbserver" ;;
-i[3456]86-pc-linux-gnu)	gdb_target=linux
-		configdirs="${configdirs} gdbserver" ;;
+			build_gdbserver=yes
+			;;
 i[3456]86-*-isc*)	gdb_target=i386v ;;
 i[3456]86-*-mach3*)	gdb_target=i386m3 ;;
 i[3456]86-*-gnu*)	gdb_target=i386gnu ;;
@@ -138,7 +132,9 @@
 i960-*-vxworks*)	gdb_target=vxworks960 ;;
 
 ia64-*-aix*)		gdb_target=aix ;;
-ia64-*-linux*)		gdb_target=linux ;;
+ia64-*-linux*)		gdb_target=linux
+			build_gdbserver=yes
+			;;
 
 m32r-*-elf*)		gdb_target=m32r ;;
 
@@ -161,15 +157,13 @@
 m68*-*-coff*)		gdb_target=monitor ;;
 m68*-*-elf*)		gdb_target=monitor ;;
 m68*-*-linux*)		gdb_target=linux
-		configdirs="${configdirs} gdbserver" ;;
-m68*-*-lynxos*)		gdb_target=m68klynx
-		configdirs="${configdirs} gdbserver" ;;
-m68*-*-netbsd*)		gdb_target=nbsd
-		configdirs="${configdirs} gdbserver" ;;
+			build_gdbserver=yes
+			;;
+m68*-*-lynxos*)		gdb_target=m68klynx ;;
+m68*-*-netbsd*)		gdb_target=nbsd ;;
 m68*-*-os68k*)		gdb_target=os68k ;;
 m68*-*-sunos3*)		gdb_target=sun3os3 ;;
-m68*-*-sunos4*)		gdb_target=sun3os4
-		configdirs="${configdirs} gdbserver" ;;
+m68*-*-sunos4*)		gdb_target=sun3os4 ;;
 m68*-*-sysv4*)		gdb_target=m68kv4 ;;
 m68*-*-vxworks*)	gdb_target=vxworks68 ;;
 
@@ -192,8 +186,7 @@
 mips64*vr4100*el-*-elf*)	gdb_target=vr4300el ;;
 mips64*vr4100*-*-elf*)	gdb_target=vr4100 ;;
 mips64*vr5000*el-*-elf*)	gdb_target=vr5000el ;;
-mips64*vr5000*-*-elf*)	gdb_target=vr5000
-		configdirs="${configdirs} gdbserver" ;;
+mips64*vr5000*-*-elf*)	gdb_target=vr5000 ;;
 mips*tx39*el*-elf*)	gdb_target=tx39l ;;
 mips*tx39*-elf*)	gdb_target=tx39 ;;
 mips64*el-*-elf*)	gdb_target=embedl64 ;;
@@ -208,7 +201,9 @@
 mips*-sgi-irix6*)	gdb_target=irix6 ;;
 mips*-sgi-*)		gdb_target=irix3 ;;
 mips*-sony-*)		gdb_target=bigmips ;;
-mips*-*-linux*)		gdb_target=linux ;;
+mips*-*-linux*)		gdb_target=linux
+			build_gdbserver=yes
+			;;
 mips*-*-mach3*)		gdb_target=mipsm3 ;;
 mips*-*-sysv4*)		gdb_target=mipsv4 ;;
 mips*-*-sysv*)		gdb_target=bigmips ;;
@@ -220,11 +215,9 @@
 
 none-*-*)		gdb_target=none ;;
 
-ns32k-*-netbsd*)	gdb_target=nbsd
-		configdirs="${configdirs} gdbserver" ;;
+ns32k-*-netbsd*)	gdb_target=nbsd ;;
 
-powerpc-*-netbsd*)	gdb_target=nbsd
-		configdirs="${configdirs} gdbserver" ;;
+powerpc-*-netbsd*)	gdb_target=nbsd ;;
 powerpc-*-aix*)		gdb_target=aix ;;
 powerpc-*-eabi* | powerpc-*-sysv* | powerpc-*-elf*)
 			if test -f ../sim/ppc/Makefile; then
@@ -238,11 +231,12 @@
 			else
 			  gdb_target=ppcle-eabi
 			fi ;;
-powerpc-*-linux*)	gdb_target=linux ;;
+powerpc-*-linux*)	gdb_target=linux
+			build_gdbserver=yes
+			;;
 powerpc-*-vxworks*)	gdb_target=vxworks ;;
 
-rs6000-*-lynxos*)	gdb_target=rs6000lynx
-		configdirs="${configdirs} gdbserver" ;;
+rs6000-*-lynxos*)	gdb_target=rs6000lynx ;;
 rs6000-*-aix4*)		gdb_target=aix4 ;;
 rs6000-*-*)		gdb_target=rs6000 ;;
 
@@ -253,18 +247,18 @@
 sh-*-hms)		gdb_target=embed ;;
 sh-*-coff*)		gdb_target=embed ;;
 sh-*-elf*)		gdb_target=embed ;;
-sh-*-linux*)		gdb_target=linux ;;
+sh-*-linux*)		gdb_target=linux
+			build_gdbserver=yes
+			;;
 
 sparc-*-aout*)		gdb_target=sparc-em ;;
 sparc-*-coff*)		gdb_target=sparc-em ;;
 sparc-*-elf*)		gdb_target=sparc-em ;;
 sparc-*-linux*)		gdb_target=linux ;;
-sparc-*-lynxos*)	gdb_target=sparclynx
-		configdirs="${configdirs} gdbserver" ;;
+sparc-*-lynxos*)	gdb_target=sparclynx ;;
 sparc-*-netbsd*)	gdb_target=nbsd ;;
 sparc-*-solaris2*)	gdb_target=sun4sol2 ;;
-sparc-*-sunos4*)	gdb_target=sun4os4
-		configdirs="${configdirs} gdbserver" ;;
+sparc-*-sunos4*)	gdb_target=sun4os4 ;;
 sparc-*-sunos5*)	gdb_target=sun4sol2 ;;
 sparc-*-vxworks*)	gdb_target=vxsparc ;;
 sparc-*-*)		gdb_target=sun4os4 ;;
@@ -295,8 +289,7 @@
 			esac
 			;;
 
-x86_64-*-linux*)	gdb_target=x86-64linux
-			configdirs="${configdirs} gdbserver" ;;
+x86_64-*-linux*)	gdb_target=x86-64linux ;;
 
 
 z8k-*-coff*)		gdb_target=z8k ;;
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.79
diff -u -r1.79 configure.in
--- configure.in	2002/01/20 18:19:30	1.79
+++ configure.in	2002/02/04 23:12:18
@@ -1237,16 +1237,10 @@
 s/GDB_MULTI_ARCH[ 	]*=[ 	]*\([^ 	]*\)[ 	]*/\1/p
 ' ${target_makefile_frag}`
 
-# these really aren't orthogonal true/false values of the same condition,
-# but shells are slow enough that I like to reuse the test conditions
-# whenever possible
 if test "${target}" = "${host}"; then
 nativefile=`sed -n '
 s/NAT_FILE[ 	]*=[ 	]*\([^ 	]*\)/\1/p
 ' ${host_makefile_frag}`
-# else
-# GDBserver is only useful in a "native" environment
-# configdirs=`echo $configdirs | sed 's/gdbserver//'`
 fi
 changequote([,])
 
@@ -1277,10 +1271,16 @@
     *)  AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
 esac
 
-
 SUBDIRS="doc testsuite nlm"
 if test "${enable_multi_ice}" = "yes"; then
   SUBDIRS="${SUBDIRS} multi-ice"
+fi
+
+if test x"${target}" = x"${host}"; then
+    if test x"${build_gdbserver}" = xyes ; then
+	configdirs="${configdirs} gdbserver"
+	SUBDIRS="${SUBDIRS} gdbserver"
+    fi
 fi
 
 AC_SUBST(SUBDIRS)


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

* Re: [RFA] gdbserver 1/3 - top level config
  2002-02-05 14:46 [RFA] gdbserver 1/3 - top level config Daniel Jacobowitz
@ 2002-02-06 16:34 ` Daniel Jacobowitz
  2002-02-13 12:10   ` Daniel Jacobowitz
  2002-02-13 20:20 ` Andrew Cagney
  1 sibling, 1 reply; 6+ messages in thread
From: Daniel Jacobowitz @ 2002-02-06 16:34 UTC (permalink / raw)
  To: gdb-patches

On Tue, Feb 05, 2002 at 05:45:49PM -0500, Daniel Jacobowitz wrote:
> This is the first of three interdependent patches to revamp gdbserver. 
> This first patch:
>   - always builds gdbserver if it is configured
>   - configures gdbserver only for Linux/{ARM,ia64,i386,m68k,mips,ppc,sh}.
> 
> Those seven targets will hereafter be referred to as "The Seven",
> since I'm really tired of typing that list over and over :)
> 
> This disables all the non-Linux targets, which I'm reasonably certain
> do not work.  At least the NetBSD targets should be very easily
> reconstitutable.  It also disables s390 and x86-64.  That's just
> because I didn't have the necessary information handy for either, or a
> way to test either.  I'll try to get those two fixed soon, as well as
> Sparc/Sparc64 which did not work at all.
> 
> Actually, reading over this list, I believe that SH support is actually
> being contributed by this patch.  I did it six or eight months ago, but
> in this new framework, so it couldn't be contributed before this.
> 
> This patch contains only changes to top-level configury.  OK to commit?

<nag>


For the curious, I ran the testsuite over gdbserver on i386-linux.  Results:

                === gdb Summary ===

# of expected passes            6727
# of unexpected failures        980
# of unexpected successes       101
# of expected failures          102
# of unresolved testcases       11
# of untested testcases         6
# of unsupported tests          6
/opt/src/binutils/x86-as/gdb/testsuite/../../gdb/gdb version 2002-02-03-cvs -nx


That's after a patch to fix some timeout problems - checking [isnative]
instead of ![is_remote target] - which I'll post in a few days. 
There's a LOT of timeouts.  Including almost all of MI, for reasons not
immediately clear.  And gcore failed to work over a remote link,
presumably because we lack some needed information that the remote
protocol can not supply.  Ditto info proc.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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

* Re: [RFA] gdbserver 1/3 - top level config
  2002-02-06 16:34 ` Daniel Jacobowitz
@ 2002-02-13 12:10   ` Daniel Jacobowitz
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Jacobowitz @ 2002-02-13 12:10 UTC (permalink / raw)
  To: gdb-patches

On Wed, Feb 06, 2002 at 07:34:01PM -0500, Daniel Jacobowitz wrote:
> On Tue, Feb 05, 2002 at 05:45:49PM -0500, Daniel Jacobowitz wrote:
> > This is the first of three interdependent patches to revamp gdbserver. 
> > This first patch:
> >   - always builds gdbserver if it is configured
> >   - configures gdbserver only for Linux/{ARM,ia64,i386,m68k,mips,ppc,sh}.
> > 
> > Those seven targets will hereafter be referred to as "The Seven",
> > since I'm really tired of typing that list over and over :)
> > 
> > This disables all the non-Linux targets, which I'm reasonably certain
> > do not work.  At least the NetBSD targets should be very easily
> > reconstitutable.  It also disables s390 and x86-64.  That's just
> > because I didn't have the necessary information handy for either, or a
> > way to test either.  I'll try to get those two fixed soon, as well as
> > Sparc/Sparc64 which did not work at all.
> > 
> > Actually, reading over this list, I believe that SH support is actually
> > being contributed by this patch.  I did it six or eight months ago, but
> > in this new framework, so it couldn't be contributed before this.
> > 
> > This patch contains only changes to top-level configury.  OK to commit?
> 
> <nag>

<nag>.  These patches are a week old now and have received not a single
comment.  I'd like to commit them - or to take over maintenance of
gdbserver and commit them - both of which I've discussed before.  I
have some additional work for signal handling and x86 FP support, and
then some in-progress work on threads, that are all quite awkward to
progress on right now.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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

* Re: [RFA] gdbserver 1/3 - top level config
  2002-02-05 14:46 [RFA] gdbserver 1/3 - top level config Daniel Jacobowitz
  2002-02-06 16:34 ` Daniel Jacobowitz
@ 2002-02-13 20:20 ` Andrew Cagney
  2002-02-13 21:32   ` Daniel Jacobowitz
  1 sibling, 1 reply; 6+ messages in thread
From: Andrew Cagney @ 2002-02-13 20:20 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches


> -# these really aren't orthogonal true/false values of the same condition,
> -# but shells are slow enough that I like to reuse the test conditions
> -# whenever possible

Yes, the comment was silly.

However a comment indicating that the NATIVE info is picked up from the 
HOST (.mh) file because there is no NATIVE (.mn) file would be useful.

>  if test "${target}" = "${host}"; then
>  nativefile=`sed -n '
>  s/NAT_FILE[ 	]*=[ 	]*\([^ 	]*\)/\1/p
>  ' ${host_makefile_frag}`
> -# else
> -# GDBserver is only useful in a "native" environment
> -# configdirs=`echo $configdirs | sed 's/gdbserver//'`
>  fi
>  changequote([,])
>  
> @@ -1277,10 +1271,16 @@
>      *)  AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
>  esac
>  
> -
>  SUBDIRS="doc testsuite nlm"
>  if test "${enable_multi_ice}" = "yes"; then
>    SUBDIRS="${SUBDIRS} multi-ice"
> +fi

> +if test x"${target}" = x"${host}"; then
> +    if test x"${build_gdbserver}" = xyes ; then
> +	configdirs="${configdirs} gdbserver"
> +	SUBDIRS="${SUBDIRS} gdbserver"
> +    fi

v.good move.  make it clear that the condition is separate/independant. 
  Can I again suggest a comment explaining why.  Is it possible to print 
an info message?

ok with me.
Andrew



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

* Re: [RFA] gdbserver 1/3 - top level config
  2002-02-13 20:20 ` Andrew Cagney
@ 2002-02-13 21:32   ` Daniel Jacobowitz
  2002-02-13 21:33     ` Andrew Cagney
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Jacobowitz @ 2002-02-13 21:32 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: gdb-patches

On Wed, Feb 13, 2002 at 11:20:45PM -0500, Andrew Cagney wrote:
> 
> >-# these really aren't orthogonal true/false values of the same condition,
> >-# but shells are slow enough that I like to reuse the test conditions
> >-# whenever possible
> 
> Yes, the comment was silly.
> 
> However a comment indicating that the NATIVE info is picked up from the 
> HOST (.mh) file because there is no NATIVE (.mn) file would be useful.

Is this about what you were looking for?
# We pick this up from the host configuration file (.mh) because we
# do not have a native configuration Makefile fragment.

> > if test "${target}" = "${host}"; then
> > nativefile=`sed -n '
> > s/NAT_FILE[ 	]*=[ 	]*\([^ 	]*\)/\1/p
> > ' ${host_makefile_frag}`
> >-# else
> >-# GDBserver is only useful in a "native" environment
> >-# configdirs=`echo $configdirs | sed 's/gdbserver//'`
> > fi
> > changequote([,])
> > 
> >@@ -1277,10 +1271,16 @@
> >     *)  AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
> > esac
> > 
> >-
> > SUBDIRS="doc testsuite nlm"
> > if test "${enable_multi_ice}" = "yes"; then
> >   SUBDIRS="${SUBDIRS} multi-ice"
> >+fi
> 
> >+if test x"${target}" = x"${host}"; then
> >+    if test x"${build_gdbserver}" = xyes ; then
> >+	configdirs="${configdirs} gdbserver"
> >+	SUBDIRS="${SUBDIRS} gdbserver"
> >+    fi
> 
> v.good move.  make it clear that the condition is separate/independant. 
>  Can I again suggest a comment explaining why.  Is it possible to print 
> an info message?

Sure.  Committed with those changes.  The tree will not build for an
hour or so while I commit and check the other parts.  I'll go through
and do NEWS entries in the next day or two, I promise.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


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

* Re: [RFA] gdbserver 1/3 - top level config
  2002-02-13 21:32   ` Daniel Jacobowitz
@ 2002-02-13 21:33     ` Andrew Cagney
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Cagney @ 2002-02-13 21:33 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches

> 
> Is this about what you were looking for?
> # We pick this up from the host configuration file (.mh) because we
> # do not have a native configuration Makefile fragment.

yep!




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

end of thread, other threads:[~2002-02-14  5:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-05 14:46 [RFA] gdbserver 1/3 - top level config Daniel Jacobowitz
2002-02-06 16:34 ` Daniel Jacobowitz
2002-02-13 12:10   ` Daniel Jacobowitz
2002-02-13 20:20 ` Andrew Cagney
2002-02-13 21:32   ` Daniel Jacobowitz
2002-02-13 21:33     ` Andrew Cagney

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