123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506 |
- # gas target specific configuration file. This is a -*- sh -*- file.
- #
- # Copyright (C) 2012-2015 Free Software Foundation, Inc.
- #
- # This file 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 3 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; see the file COPYING3. If not see
- # <http://www.gnu.org/licenses/>.
- #
- # This is invoked by configure. Putting it in a separate shell file
- # lets us skip running autoconf when modifying target specific
- # information.
- # Input shell variables:
- # targ a configuration target name, such as i686-pc-linux-gnu.
- # Output shell variables:
- # cpu_type canonical gas cpu type; identifies the config/tc-* files
- # fmt output format; identifies the config/obj-* files
- # em emulation; identifies the config/te-* files
- # Optional output shell variables; these are not always set:
- # arch the default architecture; sets DEFAULT_ARCH on some systems
- # endian "big" or "little"; used on bi-endian systems
- cpu_type=
- fmt=
- em=generic
- bfd_gas=no
- arch=
- endian=
- eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
- # Check for architecture variants. Set cpu_type and, optionally,
- # endian and arch.
- # Note: This table is alpha-sorted, please try to keep it that way.
- case ${cpu} in
- aarch64) cpu_type=aarch64 endian=little ;;
- aarch64_be) cpu_type=aarch64 endian=big ;;
- alpha*) cpu_type=alpha ;;
- am33_2.0) cpu_type=mn10300 endian=little ;;
- arc*eb) cpu_type=arc endian=big ;;
- arm*be|arm*b) cpu_type=arm endian=big ;;
- arm*) cpu_type=arm endian=little ;;
- bfin*) cpu_type=bfin endian=little ;;
- c4x*) cpu_type=tic4x ;;
- cr16*) cpu_type=cr16 endian=little ;;
- crisv32) cpu_type=cris arch=crisv32 ;;
- crx*) cpu_type=crx endian=little ;;
- epiphany*) cpu_type=epiphany endian=little ;;
- fido) cpu_type=m68k ;;
- hppa*) cpu_type=hppa ;;
- i[3-7]86) cpu_type=i386 arch=i386;;
- ia64) cpu_type=ia64 ;;
- ip2k) cpu_type=ip2k endian=big ;;
- iq2000) cpu_type=iq2000 endian=big ;;
- lm32) cpu_type=lm32 ;;
- m32c) cpu_type=m32c endian=little ;;
- m32r) cpu_type=m32r endian=big ;;
- m32rle) cpu_type=m32r endian=little ;;
- m5200) cpu_type=m68k ;;
- m68008) cpu_type=m68k ;;
- m680[012346]0) cpu_type=m68k ;;
- m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
- m683??) cpu_type=m68k ;;
- mep) cpu_type=mep endian=little ;;
- microblazeel*) cpu_type=microblaze endian=little;;
- microblaze*) cpu_type=microblaze endian=big;;
- mips*el) cpu_type=mips endian=little ;;
- mips*) cpu_type=mips endian=big ;;
- mt) cpu_type=mt endian=big ;;
- nds32be) cpu_type=nds32 endian=big ;;
- nds32le) cpu_type=nds32 endian=little ;;
- or1k* | or1knd*) cpu_type=or1k endian=big ;;
- pjl*) cpu_type=pj endian=little ;;
- pj*) cpu_type=pj endian=big ;;
- powerpc*le*) cpu_type=ppc endian=little ;;
- powerpc*) cpu_type=ppc endian=big ;;
- rs6000*) cpu_type=ppc ;;
- rl78*) cpu_type=rl78 ;;
- rx) cpu_type=rx ;;
- s390x*) cpu_type=s390 arch=s390x ;;
- s390*) cpu_type=s390 arch=s390 ;;
- score*l) cpu_type=score endian=little ;;
- score*) cpu_type=score endian=big ;;
- sh5le*) cpu_type=sh64 endian=little ;;
- sh5*) cpu_type=sh64 endian=big ;;
- sh64le*) cpu_type=sh64 endian=little ;;
- sh64*) cpu_type=sh64 endian=big ;;
- sh*le) cpu_type=sh endian=little ;;
- sh*) cpu_type=sh endian=big ;;
- sparc64*) cpu_type=sparc arch=v9-64 ;;
- sparc86x*) cpu_type=sparc arch=sparc86x ;;
- sparclet*) cpu_type=sparc arch=sparclet ;;
- sparclite*) cpu_type=sparc arch=sparclite ;;
- sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
- tilegx*be) cpu_type=tilegx endian=big ;;
- tilegx*) cpu_type=tilegx endian=little ;;
- v850*) cpu_type=v850 ;;
- visium) cpu_type=visium endian=big ;;
- x86_64*) cpu_type=i386 arch=x86_64;;
- xgate) cpu_type=xgate ;;
- xtensa*) cpu_type=xtensa arch=xtensa ;;
- *) cpu_type=${cpu} ;;
- esac
- # Assign object format. Set fmt, em, and bfd_gas.
- generic_target=${cpu_type}-$vendor-$os
- # Note: This table is alpha-sorted, please try to keep it that way.
- case ${generic_target} in
- aarch64*-*-elf) fmt=elf;;
- aarch64*-*-linux*) fmt=elf em=linux ;;
- alpha-*-*vms*) fmt=evax ;;
- alpha-*-osf*) fmt=ecoff ;;
- alpha-*-linux*ecoff*) fmt=ecoff ;;
- alpha-*-linux-*) fmt=elf em=linux ;;
- alpha-*-netbsd*) fmt=elf em=nbsd ;;
- alpha-*-openbsd*) fmt=elf em=obsd ;;
- arc-*-elf*) fmt=elf ;;
- arc*-*-linux-uclibc*) fmt=elf bfd_gas=yes ;;
- arm-*-aout) fmt=aout ;;
- arm-*-coff) fmt=coff ;;
- arm-*-rtems*) fmt=elf ;;
- arm-*-elf) fmt=elf ;;
- arm-*-eabi*) fmt=elf em=armeabi ;;
- arm-*-symbianelf*) fmt=elf em=symbian ;;
- arm-*-kaos*) fmt=elf ;;
- arm-*-conix*) fmt=elf ;;
- arm-*-freebsd[89].* | armeb-*-freebsd[89].*)
- fmt=elf em=freebsd ;;
- arm-*-freebsd* | armeb-*-freebsd*) fmt=elf em=armfbsdeabi ;;
- arm*-*-freebsd*) fmt=elf em=armfbsdvfp ;;
- arm-*-linux*aout*) fmt=aout em=linux ;;
- arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;;
- arm-*-linux-*) fmt=elf em=linux ;;
- arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;;
- arm-*-uclinux*) fmt=elf em=linux ;;
- arm-*-nacl*) fmt=elf em=nacl ;;
- arm-*-netbsdelf*) fmt=elf em=nbsd ;;
- arm-*-*n*bsd*) fmt=aout em=nbsd ;;
- arm-*-nto*) fmt=elf ;;
- arm-epoc-pe) fmt=coff em=epoc-pe ;;
- arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
- fmt=coff em=wince-pe ;;
- arm-*-pe) fmt=coff em=pe ;;
- arm-*-riscix*) fmt=aout em=riscix ;;
- avr-*-*) fmt=elf bfd_gas=yes ;;
- bfin-*-linux-uclibc) fmt=fdpicelf em=linux ;;
- bfin-*-uclinux*) fmt=elf em=linux ;;
- bfin-*-rtems*) fmt=elf ;;
- bfin-*elf) fmt=elf ;;
- cr16-*-elf*) fmt=elf ;;
- cris-*-linux-* | crisv32-*-linux-*)
- fmt=multi em=linux ;;
- cris-*-* | crisv32-*-*) fmt=multi ;;
- crx-*-elf*) fmt=elf ;;
- d10v-*-*) fmt=elf ;;
- d30v-*-*) fmt=elf ;;
- dlx-*-*) fmt=elf ;;
- epiphany-*-*) fmt=elf ;;
- fr30-*-*) fmt=elf ;;
- frv-*-*linux*) fmt=elf em=linux;;
- frv-*-*) fmt=elf ;;
- ft32-*-*) fmt=elf ;;
- hppa-*-linux*)
- case ${cpu} in
- hppa*64*) fmt=elf em=hppalinux64 ;;
- hppa*) fmt=elf em=linux ;;
- esac ;;
- hppa-*-*elf*) fmt=elf em=hppa ;;
- hppa-*-lites*) fmt=elf em=hppa ;;
- hppa-*-netbsd*) fmt=elf em=nbsd ;;
- hppa-*-openbsd*) fmt=elf em=hppa ;;
- hppa-*-osf*) fmt=som em=hppa ;;
- hppa-*-hpux11*)
- case ${cpu} in
- hppa*64*) fmt=elf em=hppa64 ;;
- hppa*) fmt=som em=hppa ;;
- esac ;;
- hppa-*-hpux*) fmt=som em=hppa ;;
- hppa-*-mpeix*) fmt=som em=hppa ;;
- hppa-*-bsd*) fmt=som em=hppa ;;
- hppa-*-hiux*) fmt=som em=hppa ;;
- h8300-*-elf | h8300-*-rtems*) fmt=elf ;;
- h8300-*-linux*) fmt=elf em=linux ;;
- i370-*-elf* | i370-*-linux*) fmt=elf ;;
- i386-ibm-aix*) fmt=coff em=i386aix ;;
- i386-sequent-bsd*) fmt=aout em=dynix ;;
- i386-*-beospe*) fmt=coff em=pe ;;
- i386-*-beos*) fmt=elf ;;
- i386-*-coff) fmt=coff ;;
- i386-*-elfiamcu) fmt=elf arch=iamcu ;;
- i386-*-elf*) fmt=elf ;;
- i386-*-kaos*) fmt=elf ;;
- i386-*-bsd*) fmt=aout em=386bsd ;;
- i386-*-nacl*) fmt=elf em=nacl
- case ${cpu} in
- x86_64*) arch=x86_64:32 ;;
- esac ;;
- i386-*-netbsd0.8) fmt=aout em=386bsd ;;
- i386-*-netbsdpe*) fmt=coff em=pe ;;
- i386-*-netbsd*-gnu* | \
- i386-*-knetbsd*-gnu | \
- i386-*-netbsdelf*) fmt=elf em=nbsd ;;
- i386-*-netbsd*)
- case ${cpu} in
- x86_64) fmt=elf em=nbsd ;;
- *) fmt=aout em=nbsd ;;
- esac ;;
- i386-*-openbsd[0-2].* | \
- i386-*-openbsd3.[0-2]) fmt=aout em=nbsd ;;
- i386-*-openbsd*) fmt=elf em=nbsd ;;
- i386-*-linux*aout*) fmt=aout em=linux ;;
- i386-*-linux*oldld) fmt=aout em=linux ;;
- i386-*-linux*coff*) fmt=coff em=linux ;;
- i386-*-linux-*) fmt=elf em=linux
- case ${cpu}-${os} in
- x86_64*-linux-gnux32) arch=x86_64:32 ;;
- esac ;;
- i386-*-lynxos*) fmt=elf em=lynx ;;
- i386-*-sysv[45]*) fmt=elf ;;
- i386-*-solaris*) fmt=elf em=solaris ;;
- i386-*-freebsdaout*) fmt=aout em=386bsd ;;
- i386-*-freebsd[12].*) fmt=aout em=386bsd ;;
- i386-*-freebsd[12]) fmt=aout em=386bsd ;;
- i386-*-freebsd* \
- | i386-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
- i386-*-sysv*) fmt=coff ;;
- i386-*-sco3.2v5*coff) fmt=coff ;;
- i386-*-isc*) fmt=coff ;;
- i386-*-sco3.2v5*) fmt=elf ;;
- i386-*-sco3.2*) fmt=coff ;;
- i386-*-vsta) fmt=aout ;;
- i386-*-msdosdjgpp* \
- | i386-*-go32*) fmt=coff em=go32 ;;
- i386-*-rtems*) fmt=elf ;;
- i386-*-gnu*) fmt=elf em=gnu ;;
- i386-*-mach*) fmt=aout em=mach ;;
- i386-*-msdos*) fmt=aout ;;
- i386-*-moss*) fmt=elf ;;
- i386-*-pe) fmt=coff em=pe ;;
- i386-*-cygwin*)
- case ${cpu} in
- x86_64*) fmt=coff em=pep ;;
- i*) fmt=coff em=pe ;;
- esac ;;
- i386-*-interix*) fmt=coff em=interix ;;
- i386-*-mingw*)
- case ${cpu} in
- x86_64*) fmt=coff em=pep ;;
- i*) fmt=coff em=pe ;;
- esac ;;
- i386-*-minwin64*) fmt=coff em=pep ;;
- i386-*-nto-qnx*) fmt=elf ;;
- i386-*-*nt*) fmt=coff em=pe ;;
- i386-*-chaos) fmt=elf ;;
- i386-*-rdos*) fmt=elf ;;
- i386-*-darwin*) fmt=macho ;;
- i860-*-*) fmt=elf endian=little ;;
- i960-*-elf*) fmt=elf ;;
- ia64-*-elf*) fmt=elf ;;
- ia64-*-*vms*) fmt=elf em=vms ;;
- ia64-*-aix*) fmt=elf em=ia64aix ;;
- ia64-*-linux-*) fmt=elf em=linux ;;
- ia64-*-hpux*) fmt=elf em=hpux ;;
- ia64-*-netbsd*) fmt=elf em=nbsd ;;
- ip2k-*-*) fmt=elf ;;
- iq2000-*-elf) fmt=elf ;;
- lm32-*-*) fmt=elf ;;
- m32c-*-elf | m32c-*-rtems*) fmt=elf ;;
- m32r-*-elf* | m32r-*-rtems*) fmt=elf ;;
- m32r-*-linux*) fmt=elf em=linux;;
- m68hc11-*-* | m6811-*-*) fmt=elf ;;
- m68hc12-*-* | m6812-*-*) fmt=elf ;;
- m68k-*-aout) fmt=aout bfd_gas=yes ;;
- m68k-*-elf*) fmt=elf ;;
- m68k-*-sysv4*) fmt=elf em=svr4 ;;
- m68k-*-rtems*) fmt=elf ;;
- m68k-*-linux-*) fmt=elf em=linux ;;
- m68k-*-uclinux*) fmt=elf em=uclinux ;;
- m68k-*-gnu*) fmt=elf ;;
- m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
- m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
- m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
- m68k-*-psos*) fmt=elf em=psos;;
- mep-*-elf) fmt=elf ;;
- metag-*-elf) fmt=elf ;;
- metag-*-linux*) fmt=elf em=linux ;;
- mcore-*-elf) fmt=elf ;;
- mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
- microblaze-*-*) fmt=elf ;;
- mips-*-irix6*) fmt=elf em=irix ;;
- mips-*-irix5*) fmt=elf em=irix ;;
- mips*-*-linux*) fmt=elf em=tmips ;;
- mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
- fmt=elf em=freebsd ;;
- mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
- mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
- fmt=elf em=tmips ;;
- mips-*-elf* | mips-*-rtems*) fmt=elf ;;
- mips-*-netbsd*) fmt=elf em=tmips ;;
- mips-*-openbsd*) fmt=elf em=tmips ;;
- mmix-*-*) fmt=elf ;;
- mn10200-*-*) fmt=elf ;;
- # cpu_type for am33_2.0 is set to mn10300
- mn10300-*-linux*) fmt=elf em=linux ;;
- mn10300-*-*) fmt=elf ;;
- moxie-*-uclinux) fmt=elf em=linux ;;
- moxie-*-moxiebox*) fmt=elf endian=little ;;
- moxie-*-*) fmt=elf ;;
-
- mt-*-elf) fmt=elf bfd_gas=yes ;;
- msp430-*-*) fmt=elf ;;
- nds32-*-elf*) fmt=elf ;;
- nds32-*-linux*) fmt=elf em=linux ;;
- nios2-*-rtems*) fmt=elf ;;
- nios2*-linux*) fmt=elf em=linux ;;
- ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
- ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
- ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
- ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
- or1k*-*-elf | or1k*-*-rtems*) fmt=elf endian=big ;;
- or1k*-*-linux*) fmt=elf em=linux endian=big ;;
- pj*) fmt=elf ;;
- ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;;
- ppc-*-winnt*) fmt=coff em=pe ;;
- ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
- ppc-*-aix[5-9].*) fmt=coff em=aix5 ;;
- ppc-*-aix*) fmt=coff em=aix ;;
- ppc-*-beos*) fmt=coff ;;
- ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
- ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
- ppc-*-linux-*) fmt=elf em=linux ;;
- ppc-*-solaris*) fmt=elf em=solaris ;;
- ppc-*-rtems*) fmt=elf ;;
- ppc-*-macos*) fmt=coff em=macos ;;
- ppc-*-nto*) fmt=elf ;;
- ppc-*-kaos*) fmt=elf ;;
- ppc-*-lynxos*) fmt=elf em=lynx ;;
- s390-*-linux-*) fmt=elf em=linux ;;
- s390-*-tpf*) fmt=elf ;;
- score-*-elf) fmt=elf ;;
- sh*-*-linux*) fmt=elf em=linux
- case ${cpu} in
- sh*eb) endian=big ;;
- *) endian=little ;;
- esac ;;
- sh5*-*-netbsd*) fmt=elf em=nbsd ;;
- sh64*-*-netbsd*) fmt=elf em=nbsd ;;
- sh*-*-netbsdelf*) fmt=elf em=nbsd
- case ${cpu} in
- sh*l*) endian=little ;;
- *) endian=big ;;
- esac ;;
- sh*-*-symbianelf*) fmt=elf endian=little ;;
- sh-*-elf*) fmt=elf ;;
- sh-*-uclinux* | sh[12]-*-uclinux*) fmt=elf em=uclinux ;;
- sh-*-coff*) fmt=coff ;;
- sh-*-nto*) fmt=elf ;;
- sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;;
- sh-*-rtemscoff*) fmt=coff ;;
- sh-*-rtems*) fmt=elf ;;
- sh-*-kaos*) fmt=elf ;;
- shle*-*-kaos*) fmt=elf ;;
- sh64-*-elf*) fmt=elf ;;
- sparc64-*-rtems*) fmt=elf ;;
- sparc-*-rtems*) fmt=elf ;;
- sparc-*-sunos4*) fmt=aout em=sun3 ;;
- sparc-*-aout) fmt=aout em=sparcaout ;;
- sparc-*-coff) fmt=coff ;;
- sparc-*-linux*aout*) fmt=aout em=linux ;;
- sparc-*-linux-*) fmt=elf em=linux ;;
- sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf) fmt=elf ;;
- sparc-*-sysv4*) fmt=elf ;;
- sparc-*-solaris*) fmt=elf em=solaris ;;
- sparc-*-netbsdelf*) fmt=elf em=nbsd ;;
- sparc-*-netbsd*)
- case ${cpu} in
- sparc64) fmt=elf em=nbsd ;;
- *) fmt=aout em=nbsd ;;
- esac ;;
- sparc-*-openbsd[0-2].* | \
- sparc-*-openbsd3.[0-1])
- case ${cpu} in
- sparc64) fmt=elf em=nbsd ;;
- *) fmt=aout em=nbsd ;;
- esac ;;
- sparc-*-openbsd*) fmt=elf em=nbsd ;;
- spu-*-elf) fmt=elf ;;
- tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
- tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
- tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;;
- tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;;
- tic6x-*-*) fmt=elf ;;
- tilepro-*-* | tilegx*-*-*) fmt=elf ;;
- v850*-*-*) fmt=elf ;;
- vax-*-netbsdelf*) fmt=elf em=nbsd ;;
- vax-*-linux-*) fmt=elf em=linux ;;
- visium-*-elf) fmt=elf ;;
- xstormy16-*-*) fmt=elf ;;
-
- xgate-*-*) fmt=elf ;;
- xtensa*-*-*) fmt=elf ;;
- z80-*-coff) fmt=coff ;;
- z8k-*-coff | z8k-*-sim) fmt=coff ;;
- *-*-aout | *-*-scout) fmt=aout ;;
- *-*-cloudabi*) fmt=elf ;;
- *-*-dragonfly*) fmt=elf em=dragonfly ;;
- *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
- *-*-bsd*) fmt=aout em=sun3 ;;
- *-*-generic) fmt=generic ;;
- *-*-xray | *-*-hms) fmt=coff ;;
- *-*-sim) fmt=coff ;;
- *-*-elf | *-*-sysv4*) fmt=elf ;;
- *-*-solaris*) fmt=elf em=solaris ;;
- *-*-aros*) fmt=elf em=linux ;;
- *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;;
- *-*-netware) fmt=elf em=netware ;;
- esac
- case ${cpu_type} in
- aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | sparc | z80 | z8k)
- bfd_gas=yes
- ;;
- esac
- case ${fmt} in
- elf | ecoff | fdpicelf | multi | som)
- bfd_gas=yes
- ;;
- esac
- if test $bfd_gas != yes; then
- echo This target is no longer supported in gas
- exit 1
- fi
|