mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 13:09:48 +00:00
* configure.in: Improve sorting/formatting of hosts and targets.
(i[34]86-*-mach3*, i[34]86-*-osf1mk*, mips-*-mach3*, m88*-*-mach3*, ns32k-*-mach3*): Recognize. * Makefile.in (gdb-stop): New target. * gdb-stop.c: New file, utility to gets attention of waiting GDBs in Mach 3.
This commit is contained in:
parent
6f88f03122
commit
6ec7e4d36a
@ -1,3 +1,12 @@
|
||||
Thu Jun 16 14:41:37 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||||
|
||||
* configure.in: Improve sorting/formatting of hosts and targets.
|
||||
(i[34]86-*-mach3*, i[34]86-*-osf1mk*, mips-*-mach3*,
|
||||
m88*-*-mach3*, ns32k-*-mach3*): Recognize.
|
||||
* Makefile.in (gdb-stop): New target.
|
||||
* gdb-stop.c: New file, utility to gets attention of waiting GDBs
|
||||
in Mach 3.
|
||||
|
||||
Wed Jun 15 00:41:03 1994 Tom Lord (lord@rtl.cygnus.com)
|
||||
|
||||
* top.c (gdb_init): Init current_directory in gdb_init. Probably
|
||||
|
@ -1,4 +1,4 @@
|
||||
#Copyright 1989, 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
|
||||
# Copyright 1989, 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GDB.
|
||||
|
||||
@ -587,6 +587,12 @@ saber_gdb: $(SFILES) $(DEPFILES) copying.c version.c
|
||||
echo "Load .c corresponding to:" $(DEPFILES)
|
||||
|
||||
|
||||
# A Mach 3.0 program to force gdb back to command level
|
||||
|
||||
gdb-stop: gdb-stop.o
|
||||
${CC-LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o gdb-stop \
|
||||
gdb-stop.o $(CLIBS) $(LOADLIBES)
|
||||
|
||||
# This is useful when debugging GDB, because some Unix's don't let you run GDB
|
||||
# on itself without copying the executable. So "make gdb1" will make
|
||||
# gdb and put a copy in gdb1, and you can run it with "gdb gdb1".
|
||||
|
@ -1,7 +1,13 @@
|
||||
configdirs="doc testsuite"
|
||||
# This file is a shell script fragment that supplies the information
|
||||
# necessary to tailor a template configure script into the configure
|
||||
# script appropriate for this directory. For more information, check
|
||||
# any existing configure script.
|
||||
|
||||
srcname="GDB"
|
||||
srctrigger=main.c
|
||||
|
||||
configdirs="doc testsuite"
|
||||
|
||||
# per-host:
|
||||
|
||||
# Map host cpu into the config cpu subdirectory name.
|
||||
@ -13,6 +19,7 @@ c[12]) gdb_host_cpu=convex ;;
|
||||
hppa*) gdb_host_cpu=pa ;;
|
||||
i[34]86) gdb_host_cpu=i386 ;;
|
||||
m68*) gdb_host_cpu=m68k ;;
|
||||
m88*) gdb_host_cpu=m88k ;;
|
||||
np1) gdb_host_cpu=gould ;;
|
||||
pyramid) gdb_host_cpu=pyr ;;
|
||||
*) gdb_host_cpu=$host_cpu ;;
|
||||
@ -32,25 +39,23 @@ arm-*-*) gdb_host=arm ;;
|
||||
c[12]-*-*) gdb_host=convex ;;
|
||||
|
||||
hppa*-*-bsd*) gdb_host=hppabsd ;;
|
||||
hppa*-*-hpux*) gdb_host=hppahpux ;;
|
||||
hppa*-*-hiux*) gdb_host=hppahpux ;;
|
||||
hppa*-*-hpux*) gdb_host=hppahpux ;;
|
||||
hppa*-*-osf*) gdb_host=hppabsd ;;
|
||||
|
||||
i[34]86-ncr-*) gdb_host=ncr3000 ;;
|
||||
i[34]86-sequent-bsd*) gdb_host=symmetry ;; #dynix
|
||||
i[34]86-sequent-bsd*) gdb_host=symmetry ;; # dynix
|
||||
i[34]86-sequent-sysv4*) gdb_host=ptx4 ;;
|
||||
i[34]86-sequent-sysv*) gdb_host=ptx ;;
|
||||
|
||||
i[34]86-*-aix*) gdb_host=i386aix ;;
|
||||
i[34]86-*-bsd*) gdb_host=i386bsd ;;
|
||||
i[34]86-*-netbsd*) gdb_host=i386bsd ;;
|
||||
i[34]86-*-go32*) gdb_host=go32 ;;
|
||||
i[34]86-*-go32*) gdb_host=go32 ;;
|
||||
i[34]86-*-linux*) gdb_host=linux ;;
|
||||
i[34]86-*-lynxos*) gdb_host=i386lynx ;;
|
||||
# Obsolete I suspect
|
||||
# i[34]86-*-mach) gdb_host=i386mach ;;
|
||||
i[34]86-*-mach*) gdb_host=i386m3 ;;
|
||||
i[34]86-*-osf1mk*) gdb_host=i386mk ;;
|
||||
i[34]86-*-mach3*) gdb_host=mach3 ;;
|
||||
i[34]86-*-mach*) gdb_host=i386mach ;;
|
||||
i[34]86-*-osf1mk*) gdb_host=osf1mk ;;
|
||||
i[34]86-*-sco3.2v4*) gdb_host=i386sco4 ;;
|
||||
i[34]86-*-sco*) gdb_host=i386sco ;;
|
||||
i[34]86-*-solaris*) gdb_host=i386sol2 ;;
|
||||
@ -85,24 +90,26 @@ m68*-sun-*) gdb_host=sun3os4 ;;
|
||||
|
||||
m88*-motorola-sysv4*) gdb_host=delta88v4 ;;
|
||||
m88*-motorola-sysv*) gdb_host=delta88 ;;
|
||||
# I suspect this is just used for DGUX
|
||||
m88*-*-mach3*) gdb_host=mach3 ;;
|
||||
m88*-*-*) gdb_host=m88k ;;
|
||||
|
||||
mips-dec-mach3*) gdb_host=mach3 ;;
|
||||
mips-dec-*) gdb_host=decstation ;;
|
||||
mips-little-*) gdb_host=littlemips ;;
|
||||
mips-sgi-irix3*) gdb_host=irix3 ;;
|
||||
mips-sgi-irix4*) gdb_host=irix4 ;;
|
||||
mips-sgi-irix5*) gdb_host=irix5 ;;
|
||||
mips-sony-*) gdb_host=news-mips ;;
|
||||
mips-*-mach3*) gdb_host=mach3 ;;
|
||||
mips-*-sysv4*) gdb_host=mipsv4 ;;
|
||||
mips-*-sysv*) gdb_host=riscos ;;
|
||||
mips-*-riscos*) gdb_host=riscos ;;
|
||||
mips-*-mach*) gdb_host=mipsm3 ;;
|
||||
|
||||
none-*-*) gdb_host=none ;;
|
||||
|
||||
np1-*-*) gdb_host=np1 ;;
|
||||
|
||||
ns32k-*-mach3*) gdb_host=mach3 ;;
|
||||
ns32k-umax-*) gdb_host=umax ;;
|
||||
ns32k-utek-sysv*) gdb_host=merlin ;;
|
||||
|
||||
@ -149,14 +156,13 @@ c[12]) gdb_target_cpu=convex ;;
|
||||
hppa*) gdb_target_cpu=pa ;;
|
||||
i[34]86) gdb_target_cpu=i386 ;;
|
||||
m68*) gdb_target_cpu=m68k ;;
|
||||
m8*) gdb_target_cpu=m88k ;;
|
||||
m88*) gdb_target_cpu=m88k ;;
|
||||
mips*) gdb_target_cpu=mips ;;
|
||||
np1) gdb_target_cpu=gould ;;
|
||||
pn) gdb_target_cpu=gould ;;
|
||||
pyramid) gdb_target_cpu=pyr ;;
|
||||
sparclite*) gdb_target_cpu=sparc
|
||||
configdirs="${configdirs} sparclite"
|
||||
;;
|
||||
configdirs="${configdirs} sparclite" ;;
|
||||
sparc*) gdb_target_cpu=sparc ;;
|
||||
*) gdb_target_cpu=$target_cpu ;;
|
||||
|
||||
@ -177,8 +183,8 @@ a29k-*-udi*) gdb_target=a29k-udi ;;
|
||||
|
||||
alpha-*-osf*) gdb_target=alpha-osf1 ;;
|
||||
alpha-*-netware*) gdb_target=alpha-nw
|
||||
configdirs="${configdirs} nlm"
|
||||
;;
|
||||
configdirs="${configdirs} nlm" ;;
|
||||
|
||||
arm-*-*) gdb_target=arm ;;
|
||||
|
||||
c1-*-*) gdb_target=convex ;;
|
||||
@ -198,19 +204,16 @@ i[34]86-sequent-bsd*) gdb_target=symmetry ;;
|
||||
i[34]86-sequent-sysv4*) gdb_target=ptx4 ;;
|
||||
i[34]86-sequent-sysv*) gdb_target=ptx ;;
|
||||
i[34]86-ncr-*) gdb_target=ncr3000 ;;
|
||||
|
||||
i[34]86-*-aout*) gdb_target=i386aout ;;
|
||||
i[34]86-*-coff*) gdb_target=i386v ;;
|
||||
i[34]86-*-elf*) gdb_target=i386v ;;
|
||||
|
||||
i[34]86-*-aix*) gdb_target=i386aix ;;
|
||||
i[34]86-*-bsd*) gdb_target=i386bsd ;;
|
||||
i[34]86-*-netbsd*) gdb_target=i386bsd ;;
|
||||
i[34]86-*-os9k) gdb_target=i386os9k ;;
|
||||
i[34]86-*-go32*) gdb_target=i386aout ;;
|
||||
i[34]86-*-lynxos*) gdb_target=i386lynx
|
||||
configdirs="${configdirs} gdbserver"
|
||||
;;
|
||||
configdirs="${configdirs} gdbserver" ;;
|
||||
i[34]86-*-solaris*) gdb_target=i386sol2 ;;
|
||||
i[34]86-*-sunos*) gdb_target=sun386 ;;
|
||||
i[34]86-*-sysv4*) gdb_target=i386v4 ;;
|
||||
@ -218,7 +221,8 @@ i[34]86-*-sco*) gdb_target=i386v ;;
|
||||
i[34]86-*-sysv*) gdb_target=i386v ;;
|
||||
i[34]86-*-linux*) gdb_target=linux ;;
|
||||
i[34]86-*-isc*) gdb_target=i386v ;;
|
||||
i[34]86-*-mach*) gdb_target=i386m3 ;;
|
||||
i[34]86-*-mach3*) gdb_target=mach3 ;;
|
||||
i[34]86-*-mach*) gdb_target=i386mach ;;
|
||||
i[34]86-*-netware*) gdb_target=i386nw ;;
|
||||
i[34]86-*-osf1mk*) gdb_target=i386mk ;;
|
||||
|
||||
@ -232,43 +236,41 @@ i960-*-vxworks*) gdb_target=vxworks960 ;;
|
||||
m68000-*-sunos3*) gdb_target=sun2os3 ;;
|
||||
m68000-*-sunos4*) gdb_target=sun2os4 ;;
|
||||
|
||||
m68*-cbm-sysv4*) gdb_target=amix ;;
|
||||
m68*-bull-sysv*) gdb_target=dpx2 ;;
|
||||
m68*-hp-bsd*) gdb_target=hp300bsd ;;
|
||||
m68*-hp-hpux*) gdb_target=hp300hpux ;;
|
||||
|
||||
m68*-altos-*) gdb_target=altos ;;
|
||||
m68*-apollo*-bsd*) gdb_target=apollo68b ;;
|
||||
m68*-att-*) gdb_target=3b1 ;;
|
||||
m68*-bull-sysv*) gdb_target=dpx2 ;;
|
||||
m68*-cbm-sysv4*) gdb_target=amix ;;
|
||||
m68*-cisco*-*) gdb_target=cisco ;;
|
||||
m68*-ericsson-*) gdb_target=es1800 ;;
|
||||
m68*-hp-bsd*) gdb_target=hp300bsd ;;
|
||||
m68*-hp-hpux*) gdb_target=hp300hpux ;;
|
||||
m68*-isi-*) gdb_target=isi ;;
|
||||
m68*-motorola-*) gdb_target=delta68 ;;
|
||||
m68*-netx-*) gdb_target=vxworks68 ;;
|
||||
m68*-sony-*) gdb_target=news ;;
|
||||
m68*-tandem-*) gdb_target=st2000 ;;
|
||||
|
||||
m68*-rom68k-*) gdb_target=monitor ;;
|
||||
m68*-*bug-*) gdb_target=monitor ;;
|
||||
m68*-monitor-*) gdb_target=monitor ;;
|
||||
|
||||
m68*-*-aout*) gdb_target=monitor ;;
|
||||
m68*-*-coff*) gdb_target=monitor ;;
|
||||
m68*-*-elf*) gdb_target=monitor ;;
|
||||
m68*-*-lynxos*) gdb_target=m68klynx
|
||||
configdirs="${configdirs} gdbserver"
|
||||
;;
|
||||
configdirs="${configdirs} gdbserver" ;;
|
||||
m68*-*-os68k*) gdb_target=os68k ;;
|
||||
m68*-*-sunos3*) gdb_target=sun3os3 ;;
|
||||
m68*-*-sunos4*) gdb_target=sun3os4 ;;
|
||||
m68*-*-vxworks*) gdb_target=vxworks68 ;;
|
||||
|
||||
m88*-motorola-sysv4*) gdb_target=delta88v4 ;;
|
||||
m88*-*-mach3*) gdb_target=mach3 ;;
|
||||
m88*-motorola-*) gdb_target=delta88 ;;
|
||||
m88*-*-*) gdb_target=m88k ;;
|
||||
|
||||
mips64*-big-*) gdb_target=bigmips64 ;;
|
||||
mips*-big-*) gdb_target=bigmips ;;
|
||||
mips*-dec-mach3*) gdb_target=mach3 ;;
|
||||
mips*-dec-*) gdb_target=decstation ;;
|
||||
mips64*el-*-ecoff*) gdb_target=idtl64 ;;
|
||||
mips64*-idt-ecoff*) gdb_target=idt64 ;;
|
||||
@ -282,15 +284,16 @@ mips*-little-*) gdb_target=littlemips ;;
|
||||
mips*-sgi-irix5*) gdb_target=irix5 ;;
|
||||
mips*-sgi-*) gdb_target=irix3 ;;
|
||||
mips*-sony-*) gdb_target=bigmips ;;
|
||||
mips*-*-mach3*) gdb_target=mach3 ;;
|
||||
mips*-*-sysv4*) gdb_target=mipsv4 ;;
|
||||
mips*-*-sysv*) gdb_target=bigmips ;;
|
||||
mips*-*-riscos*) gdb_target=bigmips ;;
|
||||
mips*-*-mach*) gdb_target=mipsm3 ;;
|
||||
|
||||
none-*-*) gdb_target=none ;;
|
||||
|
||||
np1-*-*) gdb_target=np1 ;;
|
||||
|
||||
ns32k-*-mach3*) gdb_target=mach3 ;;
|
||||
ns32k-utek-sysv*) gdb_target=merlin ;;
|
||||
ns32k-utek-*) gdb_target=umax ;;
|
||||
|
||||
@ -305,22 +308,21 @@ sparc-*-aout*) gdb_target=sparc-em ;;
|
||||
sparc-*-coff*) gdb_target=sparc-em ;;
|
||||
sparc-*-elf*) gdb_target=sparc-em ;;
|
||||
sparc-*-lynxos*) gdb_target=sparclynx
|
||||
configdirs="${configdirs} gdbserver"
|
||||
;;
|
||||
configdirs="${configdirs} gdbserver" ;;
|
||||
sparc-*-solaris2*) gdb_target=sun4sol2 ;;
|
||||
sparc-*-sunos4*) gdb_target=sun4os4 ;;
|
||||
sparc-*-vxworks*) gdb_target=vxsparc ;;
|
||||
sparc-*-*) gdb_target=sun4os4 ;;
|
||||
sparclite*-*-*) gdb_target=sparclite ;;
|
||||
# start-sanitize-v9
|
||||
sparc64-*-*) gdb_target_cpu=sparc gdb_target=sp64 ;;
|
||||
# end-sanitize-v9
|
||||
sparc64-*-*) gdb_target=sp64 ;;
|
||||
|
||||
tahoe-*-*) gdb_target=tahoe ;;
|
||||
|
||||
vax-*-*) gdb_target=vax ;;
|
||||
|
||||
z8k-*-sim*) gdb_target=z8ksim ;;
|
||||
z8k-*-coff*) gdb_target=z8ksim ;;
|
||||
|
||||
esac
|
||||
|
||||
if [ ! -f ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt ]; then
|
||||
|
110
gdb/gdb-stop.c
Normal file
110
gdb/gdb-stop.c
Normal file
@ -0,0 +1,110 @@
|
||||
/* A client to make GDB return to command level in Mach 3.
|
||||
Copyright (C) 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Authors: Jukka Virtanen <jtv@hut.fi> and Peter Stout <pds@cs.cmu.edu>.
|
||||
|
||||
A simple client to make GDB (versions 4.4 and later) on Mach 3 return
|
||||
to the command level when it is waiting for the inferior to stop.
|
||||
|
||||
Actions: Lookup the send right to the GDB message port from the
|
||||
NetMsgServer.
|
||||
|
||||
Send an asynchronous message with msgh_id
|
||||
GDB_MESSAGE_ID_STOP to that port.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "defs.h"
|
||||
|
||||
#include <mach.h>
|
||||
#include <mach/message.h>
|
||||
#include <mach_error.h>
|
||||
#include <servers/netname.h>
|
||||
#include <servers/netname_defs.h>
|
||||
|
||||
void
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
kern_return_t kr;
|
||||
mach_msg_header_t msg;
|
||||
mach_port_t gdb_port;
|
||||
char *host;
|
||||
char *name;
|
||||
|
||||
if (argc == 1)
|
||||
argv[argc++] = GDB_DEF_NAME;
|
||||
|
||||
if (argc != 2)
|
||||
{
|
||||
fprintf (stderr, "Usage : %s <GDB name>\n", argv[0]);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* Allow the user to specify a remote host. */
|
||||
host = strchr (argv[1], '@');
|
||||
if (host)
|
||||
*(host++) = '\0';
|
||||
else
|
||||
host = (char *) "";
|
||||
|
||||
name = malloc (strlen (argv[1]) + sizeof(GDB_NAME_PREFIX));
|
||||
if (name == NULL)
|
||||
{
|
||||
fprintf (stderr, "Unable to allocate memory for name.");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
strcpy (name, GDB_NAME_PREFIX);
|
||||
strcat (name, argv[1]);
|
||||
|
||||
/* Look up the GDB service port. For convenience, add the
|
||||
GDB_NAME_PREFIX the argument before looking up the name.
|
||||
For backwards compatibility, do it without. */
|
||||
|
||||
kr = netname_look_up (name_server_port, host, name, &gdb_port);
|
||||
if (kr == NETNAME_NOT_CHECKED_IN)
|
||||
kr = netname_look_up (name_server_port, host, argv[1], &gdb_port);
|
||||
if (kr != KERN_SUCCESS)
|
||||
{
|
||||
fprintf (stderr, "Unable to lookup the GDB service port: %s.\n",
|
||||
mach_error_string(kr));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Code generated by mig stub generator, with minor cleanups :-)
|
||||
|
||||
simpleroutine stop_inferior(gdb_port : mach_port_t); */
|
||||
|
||||
msg.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_COPY_SEND, 0);
|
||||
msg.msgh_remote_port = gdb_port;
|
||||
msg.msgh_local_port = MACH_PORT_NULL;
|
||||
msg.msgh_size = sizeof(msg);
|
||||
msg.msgh_seqno = 0;
|
||||
msg.msgh_id = GDB_MESSAGE_ID_STOP;
|
||||
|
||||
kr = mach_msg_send (&msg);
|
||||
if (kr != KERN_SUCCESS)
|
||||
fprintf (stderr, "Message not sent, return code %d : %s\n", kr,
|
||||
mach_error_string (kr));
|
||||
|
||||
exit (kr != KERN_SUCCESS);
|
||||
}
|
Loading…
Reference in New Issue
Block a user