From 7cf4d7ff1a3a05ca65241b5f7868448057b47e71 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Wed, 5 May 1993 20:50:53 +0000 Subject: [PATCH] hp300 support. Emulation mode fix for 386bsd and linux. Reworded some messages. Warn if bfd-assembler explicit selection on command line is overridden by target requiring it be set. (No targets override to clear currently.) --- gas/configure.in | 289 +++++++++++++++++++++-------------------------- 1 file changed, 128 insertions(+), 161 deletions(-) diff --git a/gas/configure.in b/gas/configure.in index 9fbf0f870c1..a984943e4d0 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -30,6 +30,7 @@ srctrigger=as.c srcname="gas" need_bfd=no +bfd_gas=no configdirs="doc testsuite" # per-host: @@ -37,58 +38,54 @@ configdirs="doc testsuite" gas_host=generic case "${host}" in - a29k-*-* | rs6000-*-* | vax-*-*) - case "${host_os}" in - vms*) gas_host=vms ;; - bsd*) gas_host=bsd ;; - *) gas_host=${host_cpu} ;; - esac - ;; - mips-dec-ultrix) - gas_host=decstatn - ;; - mips-*-bsd*) - gas_host=mipsbsd - ;; - mips-sgi-irix*) - gas_host=irix - ;; - i[34]86-ibm-aix*) - gas_host=i386aix - ;; - i[34]86-*-isc*) - gas_host=sysv - ;; - m68k-sun-sunos*) - gas_host=sun3 - ;; - i386-sun-sunos*) - gas_host=sun386 - ;; - sparc-sun-sunos*) - gas_host=sun4 - ;; - sparc-sun-solaris2*) - gas_host=sysv - ;; + + a29k-*-*) gas_host=a29k ;; + + hppa-hp-hpux*) gas_host=hppahpux ;; + hppa-hp-bsd*) gas_host=hppabsd ;; + hppa-hp-osf*) gas_host=hppaosf ;; + + i[34]86-ibm-aix*) gas_host=i386aix ;; + i[34]86-*-isc*) gas_host=sysv ;; + i386-sun-sunos*) gas_host=sun386 ;; + + m68k-sun-sunos*) gas_host=sun3 ;; + m68*-*-hpux) gas_host=hpux ;; + + mips-dec-ultrix*) gas_host=decstatn ;; + mips-*-bsd*) gas_host=mipsbsd ;; + mips-sgi-irix*) gas_host=irix ;; + + rs6000-*-*) gas_host=rs6000 ;; + + sparc-sun-sunos*) gas_host=sun4 ;; + sparc-sun-solaris2*) gas_host=sysv ;; + + vax-*-vms*) gas_host=vms ;; + vax-*-bsd*) gas_host=vax ;; + *-*-ansi | *-*-ultrix | *-*-hpux | *-*-sysv*) - gas_host=${host_os} - ;; + gas_host=${host_os} ;; + esac +if [ ! -r ${srcdir}/config/ho-${gas_host}.h ]; then + echo '*** GAS does not support host' ${host} 1>&2 + exit 1 +fi + # per-target: -# not yet... case ${with_bfd_assembler} in yes) - echo "*** Warning: GAS BFD configuration option not yet supported" 1>&2 + echo "*** Warning: GAS BFD configuration option not yet fully supported" 1>&2 need_bfd=yes bfd_gas=yes ;; no | "") ;; *) - echo "*** Bad value \"${with_bfd_assembler}\" for --with_bfd_assembler option" 1>&2 + echo "*** Bad value \"${with_bfd_assembler}\" for --with-bfd-assembler option" 1>&2 exit 1 ;; esac @@ -96,8 +93,6 @@ esac # assign cpu type emulation=generic -cpu_type=${target_cpu} - # check for architecture variants case ${target_cpu} in sparclite*) cpu_type=sparc ;; @@ -105,6 +100,10 @@ case ${target_cpu} in m680[01234]0) cpu_type=m68k ;; m683??) cpu_type=m68k ;; i486) cpu_type=i386 ;; + # Actually we've only got support for the 1.1, so we shouldn't generalize, + # but this is what the support files are named... + hppa1.1) cpu_type=hppa ;; + *) cpu_type=${target_cpu} ;; esac gas_target=${cpu_type} @@ -113,143 +112,111 @@ generic_target=${cpu_type}-${target_vendor}-${target_os} # assign object format case ${generic_target} in - a29k-amd-udi) - obj_format=coffbfd - need_bfd=yes - gas_target=ebmon29k - ;; - a29k-amd-ebmon) - obj_format=coffbfd - need_bfd=yes - gas_target=ebmon29k - ;; - a29k-amd-ebmonold) - obj_format=coff - need_bfd=yes - gas_target=ebmon29k - ;; - i386-ibm-aix*) - obj_format=coffbfd - need_bfd=yes - gas_target=i386coff - emulation=i386aix - ;; - i386-*-bsd*) - obj_format=aout - ;; + a29k-amd-udi) obj_format=coffbfd gas_target=ebmon29k ;; + a29k-amd-ebmon) obj_format=coffbfd gas_target=ebmon29k ;; + a29k-amd-ebmonold) obj_format=coff gas_target=ebmon29k ;; + + hppa-*-osf) obj_format=elf emulation=hppa ;; + hppa-*-hpux*) obj_format=som emulation=hppa ;; + + i386-ibm-aix*) obj_format=coffbfd gas_target=i386coff + emulation=i386aix ;; + i386-*-bsd*) obj_format=aout emulation=386bsd ;; + i386-*-linux*) obj_format=aout emulation=linux ;; i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*) - obj_format=coffbfd - need_bfd=yes - gas_target=i386coff - ;; - i386-*-go32) - obj_format=aout - ;; - i960-wrs-vxworks) - obj_format=bout - ;; - i960-*-coff) - obj_format=coff - emulation=ic960 - ;; - m68k-wrs-vxworks) - obj_format=aout - emulation=sun3 - ;; + obj_format=coffbfd gas_target=i386coff ;; + i386-*-go32) obj_format=aout ;; + + i960-wrs-vxworks) obj_format=bout ;; + i960-*-coff) obj_format=coff emulation=ic960 ;; + + m68k-wrs-vxworks) obj_format=aout emulation=sun3 ;; m68k-ericsson-[Oo][Ss][Ee]) - obj_format=aout - emulation=sun3 - ;; - m68k-*-coff) - obj_format=coffbfd - need_bfd=yes - gas_target=m68kcoff - ;; - mips-*-bsd*) - # don't change emulation like *-*-bsd does - bfd_gas=yes - obj_format=aout - gas_target=mips-lit - ;; - mips-*-ultrix*) - bfd_gas=yes - obj_format=ecoff - gas_target=mips-lit - ;; - mips-*-irix* | mips-*-ecoff) - bfd_gas=yes - obj_format=ecoff - gas_target=mips-big - ;; + obj_format=aout emulation=sun3 ;; + m68k-*-coff) obj_format=coffbfd gas_target=m68kcoff ;; + m68k-*-hpux) obj_format=hp300 emulation=hp300 ;; + + # don't change emulation like *-*-bsd does + mips-*-bsd*) bfd_gas=yes obj_format=aout gas_target=mips-lit ;; + mips-*-ultrix*) obj_format=ecoff gas_target=mips-lit ;; + mips-*-ecoff) obj_format=ecoff gas_target=mips-big ;; + mips-*-irix*) obj_format=ecoff gas_target=mips-big emulation=irix ;; + sparclite*-fujitsu-none) - obj_format=aout - ;; + obj_format=aout ;; + *-*-aout | *-*-scout | *-*-linux) - obj_format=aout - ;; + obj_format=aout ;; *-*-bout* | *-*-nindy*) - obj_format=bout - ;; - *-*-bsd* | *-*-sunos*) - obj_format=aout - emulation=sun3 - ;; - *-*-generic) - obj_format=generic - ;; - *-*-xray | *-*-hms) - obj_format=coffbfd - need_bfd=yes - ;; - *-*-sysv32) - obj_format=coff - emulation=sysv32 - ;; - *-*-sim) - obj_format=coffbfd - need_bfd=yes - ;; + obj_format=bout ;; + *-*-bsd* | *-*-sunos*) + obj_format=aout emulation=sun3 ;; + *-*-generic) obj_format=generic ;; + *-*-xray | *-*-hms) obj_format=coffbfd ;; + *-*-sysv32) obj_format=coff emulation=sysv32 ;; + *-*-sim) obj_format=coffbfd ;; *-*-coff* | *-sysv* | *-*-sco*) - obj_format=coff - case ${target_vendor} in - bull) emulation=dpx2 ;; - sun) emulation=sun3 ;; - esac - ;; - *-*-vxworks) - obj_format=aout - ;; - *-*-coff) - obj_format=coff - ;; + obj_format=coff + case ${target_vendor} in + bull) emulation=dpx2 ;; + sun) emulation=sun3 ;; + esac + ;; + *-*-vxworks) obj_format=aout ;; + *-*-coff) obj_format=coff ;; *-*-elf | *-*-solaris*) - case ${bfd_gas} in - yes) ;; - *) - echo "*** warning: gas ${target_os} configuration implies" 1>&2 - echo " (unsupported) --with-bfd-assembler option" 1>&2 - bfd_gas=yes - ;; - esac - obj_format=elf - ;; - *-*-vms) - obj_format=vms - ;; + echo '*** Warning: GAS support for ELF format is incomplete' 1>&2 + obj_format=elf ;; + *-*-vms) obj_format=vms ;; esac # assign floating point type case ${target_cpu} in - ns32k) atof=ns32k ;; - vax) atof=vax ;; - tahoe) atof=tahoe ;; - *) atof=ieee ;; + ns32k | vax | tahoe ) atof=${target_cpu} ;; + *) atof=ieee ;; esac +if [ ! -r ${srcdir}/config/tc-${cpu_type}.c ]; then + echo '*** GAS does not support target CPU' ${cpu_type} 1>&2 + exit 1 +fi + +if [ x${obj_format} = x ]; then + echo "*** GAS doesn't know what format to use for target" ${target} 1>&2 + exit 1 +fi + +if [ ! -r ${srcdir}/config/obj-${obj_format}.c ]; then + echo '*** GAS does not have support for object file format' ${obj_format} 1>&2 + exit 1 +fi + # and target makefile frag target_makefile_frag=config/${gas_target}.mt +case ${bfd_gas}-${obj_format} in + yes-coffbfd) obj_format=coff ;; + no-coffbfd) need_bfd=yes ;; + *-elf) bfd_gas=yes ;; + *-ecoff) bfd_gas=yes ;; + *) ;; +esac + +case ${with_bfd_assembler} in + "") + # User specified nothing. + ;; + "${bfd_gas}") + # We didn't override user's choice. + ;; + no) + # ... but we overrode it. + echo '*** Use of BFD is required for ${target}; overriding config options'\ + 1>&2 + ;; +esac + files="config/ho-${gas_host}.h config/tc-${cpu_type}.c \ config/tc-${cpu_type}.h config/te-${emulation}.h \ config/obj-${obj_format}.h config/obj-${obj_format}.c \ -- 2.30.2