srcname="Remote GDB server" srctrigger=server.c gdb_serial_driver=../ser-unix.c # per-host: # per-target: # Hack alert! We want this directory to be configured only for the target, # which is where it will be running, so we just eliminate the per-host section, # and make the per-target stuff setup host & host_cpu according to the target. host_cpu=$target_cpu host=$target # Map host cpu into the config cpu subdirectory name. # The default is $host_cpu. case "${host_cpu}" in c[12]) gdb_host_cpu=convex ;; hppa*) gdb_host_cpu=pa ;; i[345]86) gdb_host_cpu=i386 ;; m68*) gdb_host_cpu=m68k ;; np1) gdb_host_cpu=gould ;; pyramid) gdb_host_cpu=pyr ;; *) gdb_host_cpu=$target_cpu ;; esac # map host info into gdb names. case "${host}" in a29k-*-*) gdb_host=ultra3 ;; arm-*-*) gdb_host=arm ;; c[12]-*-*) gdb_host=convex ;; hppa*-hp-bsd*) gdb_host=hppabsd ;; hppa*-hp-hpux*) gdb_host=hppahpux ;; i[345]86-ncr-*) gdb_host=ncr3000 ;; i[345]86-sequent-*) gdb_host=symmetry ;; i[345]86-*-bsd*) gdb_host=i386bsd ;; i[345]86-*-lynxos*) gdb_host=i386lynx ;; i[345]86-*-go32) gdb_host=go32 gdb_serial_driver=ser-go32.c ;; i[345]86-*-linux) gdb_host=linux ;; i[345]86-*-mach) gdb_host=i386mach ;; i[345]86-*-sco3.2v4*) gdb_host=i386sco4 ;; i[345]86-*-sco*) gdb_host=i386sco ;; i[345]86-*-solaris*) gdb_host=i386sol2 ;; i[345]86-*-sunos*) gdb_host=sun386 ;; i[345]86-*-sysv3.2) gdb_host=i386v32 ;; i[345]86-*-sysv4*) gdb_host=i386v4 ;; i[345]86-*-sysv*) gdb_host=i386v ;; m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;; m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;; m68030-sony-*) gdb_host=news1000 ;; m68*-altos-*) gdb_host=altos ;; m68*-apollo*-sysv*) gdb_host=apollo68v ;; m68*-apollo*-bsd*) gdb_host=apollo68b ;; m68*-att-*) gdb_host=3b1 ;; m68*-cbm-sysv4*) gdb_host=amix ;; m68*-hp-bsd*) gdb_host=hp300bsd ;; m68*-hp-hpux*) gdb_host=hp300hpux ;; m68*-isi-*) gdb_host=isi ;; m68*-*-lynxos*) gdb_host=m68klynx ;; m68*-sony-*) gdb_host=news ;; m68*-sun-sunos3*) gdb_host=sun3os3 ;; m68*-sun-sunos4*) gdb_host=sun3os4 ;; m68*-sun-*) gdb_host=sun3os4 ;; m88k-motorola-*) gdb_host=delta88 ;; m88k-*-*) gdb_host=m88k ;; mips-dec-*) gdb_host=decstation ;; mips-little-*) gdb_host=littlemips ;; mips-sgi-irix3) gdb_host=irix3 ;; mips-sgi-irix4*) gdb_host=irix4 ;; mips-sony-*) gdb_host=bigmips ;; none-*-*) gdb_host=none ;; np1-*-*) gdb_host=np1 ;; ns32k-umax-*) gdb_host=umax ;; ns32k-utek-sysv) gdb_host=merlin ;; pn-*-*) gdb_host=pn ;; pyramid-*-*) gdb_host=pyramid ;; romp-*-*) gdb_host=rtbsd ;; rs6000-*-*) gdb_host=rs6000 ;; sparc-*-lynxos*) gdb_host=sparclynx ;; sparc-*-solaris2*) gdb_host=sun4sol2 ;; sparc-*-sunos4*) gdb_host=sun4os4 ;; sparc-*-*) gdb_host=sun4os4 ;; tahoe-*-*) gdb_host=tahoe ;; vax-*-bsd*) gdb_host=vaxbsd ;; vax-*-ultrix2*) gdb_host=vaxult2 ;; vax-*-ultrix*) gdb_host=vaxult ;; esac if [ ! -f ${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh ]; then echo '***' "GDB remote does not support host ${host}" 1>&2 exit 1 fi # We really shouldn't depend on there being a space after XM_FILE= ... hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh` # per-target: # Map target cpu into the config cpu subdirectory name. # The default is $target_cpu. case "${target_cpu}" in c[12]) gdb_target_cpu=convex ;; hppa*) gdb_target_cpu=pa ;; i[345]86) gdb_target_cpu=i386 ;; m68*) gdb_target_cpu=m68k ;; np1) gdb_target_cpu=gould ;; pn) gdb_target_cpu=gould ;; pyramid) gdb_target_cpu=pyr ;; sparc*) gdb_target_cpu=sparc ;; *) gdb_target_cpu=$target_cpu ;; esac # map target info into gdb names. case "${target}" in a29k-*-aout) gdb_target=a29k ;; a29k-*-coff) gdb_target=a29k ;; a29k-*-elf) gdb_target=a29k ;; a29k-*-ebmon) gdb_target=a29k ;; a29k-*-kern) gdb_target=a29k-kern ;; a29k-*-none) gdb_target=a29k ;; a29k-*-sym1) gdb_target=ultra3 ;; a29k-*-udi) gdb_target=a29k-udi ;; arm-*-*) gdb_target=arm ;; c1-*-*) gdb_target=convex ;; c2-*-*) gdb_target=convex ;; h8300-*-*) gdb_target=h8300hms ;; h8500-*-*) gdb_target=h8500hms ;; sh-*-*) gdb_target=sh ;; hppa*-*-bsd*) gdb_target=hppabsd ;; hppa*-*-hpux*) gdb_target=hppahpux ;; i[345]86-sequent-*) gdb_target=symmetry ;; i[345]86-ncr-*) gdb_target=ncr3000 ;; i[345]86-*-aout) gdb_target=i386aout ;; i[345]86-*-coff) gdb_target=i386v ;; i[345]86-*-elf) gdb_target=i386v ;; i[345]86-*-bsd*) gdb_target=i386bsd ;; i[345]86-*-lynxos*) gdb_target=i386lynx ;; i[345]86-*-go32) gdb_target=i386aout ;; i[345]86-*-solaris*) gdb_target=i386sol2 ;; i[345]86-*-sunos*) gdb_target=sun386 ;; i[345]86-*-sysv4*) gdb_target=i386v4 ;; i[345]86-*-sco*) gdb_target=i386v ;; i[345]86-*-sysv*) gdb_target=i386v ;; i[345]86-*-linux) gdb_target=linux ;; i960-*-bout) gdb_target=vxworks960 ;; i960-*-coff) gdb_target=nindy960 ;; i960-*-elf) gdb_target=nindy960 ;; i960-*-nindy) gdb_target=nindy960 ;; i960-*-vxworks) gdb_target=vxworks960 ;; m68000-*-aout) gdb_target=m68k-nofp ;; m68000-*-coff) gdb_target=m68k-nofp ;; m68000-*-elf) gdb_target=m68k-nofp ;; m68000-*-sunos3*) gdb_target=sun2os3 ;; m68000-*-sunos4*) gdb_target=sun2os4 ;; m68*-cbm-sysv4*) gdb_target=amix ;; m68*-hp-bsd*) gdb_target=hp300bsd ;; m68*-hp-hpux*) gdb_target=hp300hpux ;; m68*-altos-*) gdb_target=altos ;; m68*-att-*) gdb_target=3b1 ;; m68*-ericsson-*) gdb_target=es1800 ;; m68*-isi-*) gdb_target=isi ;; m68*-netx-*) gdb_target=vxworks68 ;; m68*-sony-*) gdb_target=news ;; m68*-tandem-*) gdb_target=st2000 ;; m68*-*-aout) gdb_target=m68k-fp ;; m68*-*-coff) gdb_target=m68k-fp ;; m68*-*-elf) gdb_target=m68k-fp ;; m68*-*-lynxos*) gdb_target=m68klynx ;; m68*-*-os68k) gdb_target=os68k ;; m68*-*-sunos3*) gdb_target=sun3os3 ;; m68*-*-sunos4*) gdb_target=sun3os4 ;; m68*-*-vxworks*) gdb_target=vxworks68 ;; m88k-motorola-*) gdb_target=delta88 ;; m88k-*-*) gdb_target=m88k ;; mips-big-*) gdb_target=bigmips ;; mips-dec-*) gdb_target=decstation ;; mips-idt-ecoff) gdb_target=idt ;; mips-little-*) gdb_target=littlemips ;; mips-sgi-*) gdb_target=irix3 ;; mips-sony-*) gdb_target=bigmips ;; none-*-*) gdb_target=none ;; np1-*-*) gdb_target=np1 ;; ns32k-utek-sysv) gdb_target=merlin ;; ns32k-utek-*) gdb_target=umax ;; pn-*-*) gdb_target=pn ;; pyramid-*-*) gdb_target=pyramid ;; rs6000-*-*) gdb_target=rs6000 ;; sparc-*-aout) gdb_target=sparc-em ;; sparc-*-coff) gdb_target=sparc-em ;; sparc-*-elf) gdb_target=sparc-em ;; sparc-*-lynxos*) gdb_target=sparclynx ;; sparc-*-solaris2*) gdb_target=sun4sol2 ;; sparc-*-sunos4*) gdb_target=sun4os4 ;; sparc-*-vxworks*) gdb_target=sparc-em ;; sparc-*-*) gdb_target=sun4os4 ;; sparclite*-*-*) gdb_target=sparclite ;; tahoe-*-*) gdb_target=tahoe ;; vax-*-*) gdb_target=vax ;; z8k-*-sim) gdb_target=z8ksim ;; esac if [ ! -f ${srcdir}/../config/${gdb_target_cpu}/${gdb_target}.mt ]; then echo '***' "GDB remote does not support target ${target}" 1>&2 exit 1 fi if [ -z "${removing}" ] ; then cat ${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh ${srcdir}/../config/${gdb_target_cpu}/${gdb_target}.mt | awk '$1 == "#msg" { print substr($0,6)}' fi # We really shouldn't depend on there being a space after TM_FILE= ... targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <${srcdir}/../config/${gdb_target_cpu}/${gdb_target}.mt` if [ "${target}" = "${host}" ] ; then nativefile=`awk '$1 == "NAT_FILE=" { print $2 }' <${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh` fi host_makefile_frag=../config/${gdb_host_cpu}/${gdb_host}.mh target_makefile_frag=../config/${gdb_target_cpu}/${gdb_target}.mt # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile # (NAT_FILE) is not set in the ?config/* file, we don't make the # corresponding links. But we have to remove the xm.h files and tm.h # files anyway, e.g. when switching from "configure host" to # "configure none". files= links= rm -f xm.h rm -f ser-hardwire.c if [ "${hostfile}" != "" ]; then if [ -f ${srcdir}/../config/${hostfile} ]; then files="${files} ../config/${hostfile}" else files="${files} ../config/${gdb_host_cpu}/${hostfile}" fi links="${links} xm.h" # files="${files} ${gdb_serial_driver}" # links="${links} ser-hardwire.c" fi rm -f tm.h if [ "${targetfile}" != "" ]; then if [ -f ${srcdir}/../config/${targetfile} ]; then files="${files} ../config/${targetfile}" else files="${files} ../config/${gdb_target_cpu}/${targetfile}" fi links="${links} tm.h" fi rm -f nm.h if [ "${nativefile}" != "" ]; then if [ -f ${srcdir}/../config/${nativefile} ]; then files="${files} ../config/${nativefile}" else files="${files} ../config/${gdb_host_cpu}/${nativefile}" fi links="${links} nm.h" # temporary scaffolding until all hosts have the host/target/native # split in place. else files="${files} ../config/nm-trash.h" links="${links} nm.h" fi if [ ${target_cpu} = "sparclite" ]; then configdirs="${configdirs} sparclite" fi # post-target: if [ "${nativefile}" = "" ] ; then sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \ < Makefile > Makefile.tem mv -f Makefile.tem Makefile fi