head 1.9; access; symbols netbsd-11-0-RC4:1.9 netbsd-11-0-RC3:1.9 netbsd-11-0-RC2:1.9 netbsd-11-0-RC1:1.9 perseant-exfatfs-base-20250801:1.9 netbsd-11:1.9.0.126 netbsd-11-base:1.9 netbsd-10-1-RELEASE:1.9 perseant-exfatfs-base-20240630:1.9 perseant-exfatfs:1.9.0.124 perseant-exfatfs-base:1.9 netbsd-8-3-RELEASE:1.9 netbsd-9-4-RELEASE:1.9 netbsd-10-0-RELEASE:1.9 netbsd-10-0-RC6:1.9 netbsd-10-0-RC5:1.9 netbsd-10-0-RC4:1.9 netbsd-10-0-RC3:1.9 netbsd-10-0-RC2:1.9 thorpej-ifq:1.9.0.122 thorpej-ifq-base:1.9 thorpej-altq-separation:1.9.0.120 thorpej-altq-separation-base:1.9 netbsd-10-0-RC1:1.9 netbsd-10:1.9.0.118 netbsd-10-base:1.9 bouyer-sunxi-drm:1.9.0.116 bouyer-sunxi-drm-base:1.9 netbsd-9-3-RELEASE:1.9 thorpej-i2c-spi-conf2:1.9.0.114 thorpej-i2c-spi-conf2-base:1.9 thorpej-futex2:1.9.0.112 thorpej-futex2-base:1.9 thorpej-cfargs2:1.9.0.110 thorpej-cfargs2-base:1.9 cjep_sun2x-base1:1.9 cjep_sun2x:1.9.0.108 cjep_sun2x-base:1.9 cjep_staticlib_x-base1:1.9 netbsd-9-2-RELEASE:1.9 cjep_staticlib_x:1.9.0.106 cjep_staticlib_x-base:1.9 thorpej-i2c-spi-conf:1.9.0.104 thorpej-i2c-spi-conf-base:1.9 thorpej-cfargs:1.9.0.102 thorpej-cfargs-base:1.9 thorpej-futex:1.9.0.100 thorpej-futex-base:1.9 netbsd-9-1-RELEASE:1.9 bouyer-xenpvh-base2:1.9 phil-wifi-20200421:1.9 bouyer-xenpvh-base1:1.9 phil-wifi-20200411:1.9 bouyer-xenpvh:1.9.0.98 bouyer-xenpvh-base:1.9 is-mlppp:1.9.0.96 is-mlppp-base:1.9 phil-wifi-20200406:1.9 netbsd-8-2-RELEASE:1.9 ad-namecache-base3:1.9 netbsd-9-0-RELEASE:1.9 netbsd-9-0-RC2:1.9 ad-namecache-base2:1.9 ad-namecache-base1:1.9 ad-namecache:1.9.0.94 ad-namecache-base:1.9 netbsd-9-0-RC1:1.9 phil-wifi-20191119:1.9 netbsd-9:1.9.0.92 netbsd-9-base:1.9 phil-wifi-20190609:1.9 netbsd-8-1-RELEASE:1.9 netbsd-8-1-RC1:1.9 isaki-audio2:1.9.0.90 isaki-audio2-base:1.9 pgoyette-compat-merge-20190127:1.9 pgoyette-compat-20190127:1.9 pgoyette-compat-20190118:1.9 pgoyette-compat-1226:1.9 pgoyette-compat-1126:1.9 pgoyette-compat-1020:1.9 pgoyette-compat-0930:1.9 pgoyette-compat-0906:1.9 netbsd-7-2-RELEASE:1.9 pgoyette-compat-0728:1.9 netbsd-8-0-RELEASE:1.9 phil-wifi:1.9.0.88 phil-wifi-base:1.9 pgoyette-compat-0625:1.9 netbsd-8-0-RC2:1.9 pgoyette-compat-0521:1.9 pgoyette-compat-0502:1.9 pgoyette-compat-0422:1.9 netbsd-8-0-RC1:1.9 pgoyette-compat-0415:1.9 pgoyette-compat-0407:1.9 pgoyette-compat-0330:1.9 pgoyette-compat-0322:1.9 pgoyette-compat-0315:1.9 netbsd-7-1-2-RELEASE:1.9 pgoyette-compat:1.9.0.86 pgoyette-compat-base:1.9 netbsd-7-1-1-RELEASE:1.9 tls-maxphys-base-20171202:1.9 matt-nb8-mediatek:1.9.0.84 matt-nb8-mediatek-base:1.9 nick-nhusb-base-20170825:1.9 perseant-stdc-iso10646:1.9.0.82 perseant-stdc-iso10646-base:1.9 netbsd-8:1.9.0.80 netbsd-8-base:1.9 prg-localcount2-base3:1.9 prg-localcount2-base2:1.9 prg-localcount2-base1:1.9 prg-localcount2:1.9.0.78 prg-localcount2-base:1.9 pgoyette-localcount-20170426:1.9 bouyer-socketcan-base1:1.9 jdolecek-ncq:1.9.0.76 jdolecek-ncq-base:1.9 pgoyette-localcount-20170320:1.9 netbsd-7-1:1.9.0.74 netbsd-7-1-RELEASE:1.9 netbsd-7-1-RC2:1.9 nick-nhusb-base-20170204:1.9 netbsd-7-nhusb-base-20170116:1.9 bouyer-socketcan:1.9.0.72 bouyer-socketcan-base:1.9 pgoyette-localcount-20170107:1.9 netbsd-7-1-RC1:1.9 nick-nhusb-base-20161204:1.9 pgoyette-localcount-20161104:1.9 netbsd-7-0-2-RELEASE:1.9 nick-nhusb-base-20161004:1.9 localcount-20160914:1.9 netbsd-7-nhusb:1.9.0.70 netbsd-7-nhusb-base:1.9 pgoyette-localcount-20160806:1.9 pgoyette-localcount-20160726:1.9 pgoyette-localcount:1.9.0.68 pgoyette-localcount-base:1.9 nick-nhusb-base-20160907:1.9 nick-nhusb-base-20160529:1.9 netbsd-7-0-1-RELEASE:1.9 nick-nhusb-base-20160422:1.9 nick-nhusb-base-20160319:1.9 nick-nhusb-base-20151226:1.9 netbsd-7-0:1.9.0.66 netbsd-7-0-RELEASE:1.9 nick-nhusb-base-20150921:1.9 netbsd-7-0-RC3:1.9 netbsd-7-0-RC2:1.9 netbsd-7-0-RC1:1.9 nick-nhusb-base-20150606:1.9 nick-nhusb-base-20150406:1.9 nick-nhusb:1.9.0.64 nick-nhusb-base:1.9 netbsd-5-2-3-RELEASE:1.9 netbsd-5-1-5-RELEASE:1.9 netbsd-6-0-6-RELEASE:1.9 netbsd-6-1-5-RELEASE:1.9 netbsd-7:1.9.0.62 netbsd-7-base:1.9 yamt-pagecache-base9:1.9 yamt-pagecache-tag8:1.9 netbsd-6-1-4-RELEASE:1.9 netbsd-6-0-5-RELEASE:1.9 tls-earlyentropy:1.9.0.60 tls-earlyentropy-base:1.9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.9 riastradh-drm2-base3:1.9 netbsd-6-1-3-RELEASE:1.9 netbsd-6-0-4-RELEASE:1.9 netbsd-5-2-2-RELEASE:1.9 netbsd-5-1-4-RELEASE:1.9 netbsd-6-1-2-RELEASE:1.9 netbsd-6-0-3-RELEASE:1.9 netbsd-5-2-1-RELEASE:1.9 netbsd-5-1-3-RELEASE:1.9 rmind-smpnet-nbase:1.9 netbsd-6-1-1-RELEASE:1.9 riastradh-drm2-base2:1.9 riastradh-drm2-base1:1.9 riastradh-drm2:1.9.0.58 riastradh-drm2-base:1.9 rmind-smpnet:1.9.0.50 rmind-smpnet-base:1.9 netbsd-6-1:1.9.0.56 netbsd-6-0-2-RELEASE:1.9 netbsd-6-1-RELEASE:1.9 khorben-n900:1.9.0.54 netbsd-6-1-RC4:1.9 netbsd-6-1-RC3:1.9 agc-symver:1.9.0.52 agc-symver-base:1.9 netbsd-6-1-RC2:1.9 netbsd-6-1-RC1:1.9 yamt-pagecache-base8:1.9 netbsd-5-2:1.9.0.48 netbsd-6-0-1-RELEASE:1.9 yamt-pagecache-base7:1.9 netbsd-5-2-RELEASE:1.9 netbsd-5-2-RC1:1.9 matt-nb6-plus-nbase:1.9 yamt-pagecache-base6:1.9 netbsd-6-0:1.9.0.46 netbsd-6-0-RELEASE:1.9 netbsd-6-0-RC2:1.9 tls-maxphys:1.9.0.44 tls-maxphys-base:1.9 matt-nb6-plus:1.9.0.42 matt-nb6-plus-base:1.9 netbsd-6-0-RC1:1.9 jmcneill-usbmp-base10:1.9 yamt-pagecache-base5:1.9 jmcneill-usbmp-base9:1.9 yamt-pagecache-base4:1.9 jmcneill-usbmp-base8:1.9 jmcneill-usbmp-base7:1.9 jmcneill-usbmp-base6:1.9 jmcneill-usbmp-base5:1.9 jmcneill-usbmp-base4:1.9 jmcneill-usbmp-base3:1.9 jmcneill-usbmp-pre-base2:1.9 jmcneill-usbmp-base2:1.9 netbsd-6:1.9.0.40 netbsd-6-base:1.9 netbsd-5-1-2-RELEASE:1.9 netbsd-5-1-1-RELEASE:1.9 jmcneill-usbmp:1.9.0.38 jmcneill-usbmp-base:1.9 jmcneill-audiomp3:1.9.0.36 jmcneill-audiomp3-base:1.9 yamt-pagecache-base3:1.9 yamt-pagecache-base2:1.9 yamt-pagecache:1.9.0.34 yamt-pagecache-base:1.9 rmind-uvmplock-nbase:1.9 cherry-xenmp:1.9.0.32 cherry-xenmp-base:1.9 jym-xensuspend-nbase:1.9 uebayasi-xip-base7:1.9 bouyer-quota2-nbase:1.9 bouyer-quota2:1.9.0.30 bouyer-quota2-base:1.9 jruoho-x86intr:1.9.0.28 jruoho-x86intr-base:1.9 matt-mips64-premerge-20101231:1.9 matt-nb5-mips64-premerge-20101231:1.9 matt-nb5-pq3:1.9.0.26 matt-nb5-pq3-base:1.9 netbsd-5-1:1.9.0.24 uebayasi-xip-base6:1.9 uebayasi-xip-base5:1.9 netbsd-5-1-RELEASE:1.9 uebayasi-xip-base4:1.9 uebayasi-xip-base3:1.9 yamt-nfs-mp-base11:1.9 netbsd-5-1-RC4:1.9 matt-nb5-mips64-k15:1.9 uebayasi-xip-base2:1.9 yamt-nfs-mp-base10:1.9 netbsd-5-1-RC3:1.9 netbsd-5-1-RC2:1.9 uebayasi-xip-base1:1.9 netbsd-5-1-RC1:1.9 rmind-uvmplock:1.9.0.22 rmind-uvmplock-base:1.9 yamt-nfs-mp-base9:1.9 uebayasi-xip:1.9.0.20 uebayasi-xip-base:1.9 netbsd-5-0-2-RELEASE:1.9 matt-nb5-mips64-premerge-20091211:1.9 matt-premerge-20091211:1.9 yamt-nfs-mp-base8:1.9 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.9 matt-nb4-mips64-k7-u2a-k9b:1.9 matt-nb5-mips64-u1-k1-k5:1.9 yamt-nfs-mp-base7:1.9 matt-nb5-mips64:1.9.0.18 netbsd-5-0-1-RELEASE:1.9 jymxensuspend-base:1.9 yamt-nfs-mp-base6:1.9 yamt-nfs-mp-base5:1.9 yamt-nfs-mp-base4:1.9 yamt-nfs-mp-base3:1.9 nick-hppapmap-base4:1.9 nick-hppapmap-base3:1.9 netbsd-5-0:1.9.0.16 netbsd-5-0-RELEASE:1.9 netbsd-5-0-RC4:1.9 netbsd-5-0-RC3:1.9 nick-hppapmap-base2:1.9 netbsd-5-0-RC2:1.9 jym-xensuspend:1.9.0.14 jym-xensuspend-base:1.9 netbsd-5-0-RC1:1.9 haad-dm-base2:1.9 haad-nbase2:1.9 ad-audiomp2:1.9.0.12 ad-audiomp2-base:1.9 netbsd-5:1.9.0.10 netbsd-5-base:1.9 nick-hppapmap:1.9.0.8 nick-hppapmap-base:1.9 matt-mips64-base2:1.9 haad-dm-base1:1.9 wrstuden-revivesa-base-4:1.9 netbsd-4-0-1-RELEASE:1.6 wrstuden-revivesa-base-3:1.9 wrstuden-revivesa-base-2:1.9 wrstuden-fixsa-newbase:1.6 nick-csl-alignment-base5:1.6 haad-dm:1.9.0.6 haad-dm-base:1.9 wrstuden-revivesa-base-1:1.9 simonb-wapbl-nbase:1.9 yamt-pf42-base4:1.9 simonb-wapbl:1.9.0.4 simonb-wapbl-base:1.9 yamt-pf42-base3:1.9 hpcarm-cleanup-nbase:1.9 yamt-pf42-baseX:1.8 yamt-pf42-base2:1.9 yamt-nfs-mp-base2:1.9 wrstuden-revivesa:1.9.0.2 wrstuden-revivesa-base:1.9 yamt-nfs-mp:1.8.0.4 yamt-nfs-mp-base:1.8 yamt-pf42:1.8.0.2 yamt-pf42-base:1.8 ad-socklock-base1:1.6 yamt-lazymbuf-base15:1.6 yamt-lazymbuf-base14:1.6 keiichi-mipv6-nbase:1.6 mjf-devfs2:1.6.0.148 mjf-devfs2-base:1.9 nick-net80211-sync:1.6.0.146 nick-net80211-sync-base:1.6 keiichi-mipv6:1.6.0.144 keiichi-mipv6-base:1.6 bouyer-xeni386-merge1:1.6 matt-armv6-prevmlocking:1.6 wrstuden-fixsa-base-1:1.6 vmlocking2-base3:1.6 netbsd-4-0:1.6.0.142 netbsd-4-0-RELEASE:1.6 bouyer-xeni386-nbase:1.6 yamt-kmem-base3:1.6 cube-autoconf:1.6.0.140 cube-autoconf-base:1.6 yamt-kmem-base2:1.6 bouyer-xeni386:1.6.0.138 bouyer-xeni386-base:1.6 yamt-kmem:1.6.0.136 yamt-kmem-base:1.6 vmlocking2-base2:1.6 reinoud-bufcleanup-nbase:1.6 vmlocking2:1.6.0.134 vmlocking2-base1:1.6 netbsd-4-0-RC5:1.6 matt-nb4-arm:1.6.0.132 matt-nb4-arm-base:1.6 matt-armv6-nbase:1.6 jmcneill-base:1.6 netbsd-4-0-RC4:1.6 mjf-devfs:1.6.0.130 mjf-devfs-base:1.6 bouyer-xenamd64-base2:1.6 vmlocking-nbase:1.6 yamt-x86pmap-base4:1.6 bouyer-xenamd64:1.6.0.128 bouyer-xenamd64-base:1.6 netbsd-4-0-RC3:1.6 yamt-x86pmap-base3:1.6 yamt-x86pmap-base2:1.6 netbsd-4-0-RC2:1.6 yamt-x86pmap:1.6.0.126 yamt-x86pmap-base:1.6 netbsd-4-0-RC1:1.6 matt-armv6:1.6.0.124 matt-armv6-base:1.6 jmcneill-pm:1.6.0.122 jmcneill-pm-base:1.6 hpcarm-cleanup:1.6.0.120 hpcarm-cleanup-base:1.6 nick-csl-alignment:1.6.0.118 nick-csl-alignment-base:1.6 matt-mips64:1.6.0.116 matt-mips64-base:1.6 netbsd-3-1-1-RELEASE:1.6 netbsd-3-0-3-RELEASE:1.6 yamt-idlelwp-base8:1.6 wrstuden-fixsa:1.6.0.114 wrstuden-fixsa-base:1.6 ppcoea-renovation:1.6.0.112 ppcoea-renovation-base:1.6 thorpej-atomic:1.6.0.110 thorpej-atomic-base:1.6 reinoud-bufcleanup:1.6.0.108 reinoud-bufcleanup-base:1.6 mjf-ufs-trans:1.6.0.106 mjf-ufs-trans-base:1.6 vmlocking:1.6.0.104 vmlocking-base:1.6 ad-audiomp:1.6.0.102 ad-audiomp-base:1.6 yamt-idlelwp:1.6.0.100 post-newlock2-merge:1.6 newlock2-nbase:1.6 yamt-splraiseipl-base5:1.6 yamt-splraiseipl-base4:1.6 yamt-splraiseipl-base3:1.6 abandoned-netbsd-4-base:1.6 abandoned-netbsd-4:1.6.0.90 netbsd-3-1:1.6.0.96 netbsd-3-1-RELEASE:1.6 netbsd-3-0-2-RELEASE:1.6 yamt-splraiseipl-base2:1.6 netbsd-3-1-RC4:1.6 yamt-splraiseipl:1.6.0.94 yamt-splraiseipl-base:1.6 netbsd-3-1-RC3:1.6 yamt-pdpolicy-base9:1.6 newlock2:1.6.0.92 newlock2-base:1.6 yamt-pdpolicy-base8:1.6 netbsd-3-1-RC2:1.6 netbsd-3-1-RC1:1.6 yamt-pdpolicy-base7:1.6 netbsd-4:1.6.0.98 netbsd-4-base:1.6 yamt-pdpolicy-base6:1.6 chap-midi-nbase:1.6 netbsd-3-0-1-RELEASE:1.6 gdamore-uart:1.6.0.88 gdamore-uart-base:1.6 simonb-timcounters-final:1.6 yamt-pdpolicy-base5:1.6 chap-midi:1.6.0.86 chap-midi-base:1.6 yamt-pdpolicy-base4:1.6 yamt-pdpolicy-base3:1.6 peter-altq-base:1.6 peter-altq:1.6.0.84 yamt-pdpolicy-base2:1.6 elad-kernelauth-base:1.6 elad-kernelauth:1.6.0.82 yamt-pdpolicy:1.6.0.80 yamt-pdpolicy-base:1.6 yamt-uio_vmspace-base5:1.6 simonb-timecounters:1.6.0.78 simonb-timecounters-base:1.6 rpaulo-netinet-merge-pcb:1.6.0.76 rpaulo-netinet-merge-pcb-base:1.6 yamt-uio_vmspace:1.6.0.74 netbsd-3-0:1.6.0.72 netbsd-3-0-RELEASE:1.6 netbsd-3-0-RC6:1.6 yamt-readahead-base3:1.6 netbsd-3-0-RC5:1.6 netbsd-3-0-RC4:1.6 netbsd-3-0-RC3:1.6 yamt-readahead-base2:1.6 netbsd-3-0-RC2:1.6 yamt-readahead-pervnode:1.6 yamt-readahead-perfile:1.6 yamt-readahead:1.6.0.70 yamt-readahead-base:1.6 netbsd-3-0-RC1:1.6 yamt-vop-base3:1.6 netbsd-2-0-3-RELEASE:1.6 netbsd-2-1:1.6.0.68 yamt-vop-base2:1.6 thorpej-vnode-attr:1.6.0.66 thorpej-vnode-attr-base:1.6 netbsd-2-1-RELEASE:1.6 yamt-vop:1.6.0.64 yamt-vop-base:1.6 netbsd-2-1-RC6:1.6 netbsd-2-1-RC5:1.6 netbsd-2-1-RC4:1.6 netbsd-2-1-RC3:1.6 netbsd-2-1-RC2:1.6 netbsd-2-1-RC1:1.6 yamt-lazymbuf:1.6.0.62 yamt-km-base4:1.6 netbsd-2-0-2-RELEASE:1.6 yamt-km-base3:1.6 netbsd-3:1.6.0.60 netbsd-3-base:1.6 yamt-km-base2:1.6 yamt-km:1.6.0.56 yamt-km-base:1.6 kent-audio2:1.6.0.54 kent-audio2-base:1.6 netbsd-2-0-1-RELEASE:1.6 kent-audio1-beforemerge:1.6 netbsd-2:1.6.0.52 netbsd-2-base:1.6 kent-audio1:1.6.0.50 kent-audio1-base:1.6 netbsd-2-0-RELEASE:1.6 netbsd-2-0-RC5:1.6 netbsd-2-0-RC4:1.6 netbsd-2-0-RC3:1.6 netbsd-2-0-RC2:1.6 netbsd-2-0-RC1:1.6 netbsd-2-0:1.6.0.48 netbsd-2-0-base:1.6 netbsd-1-6-PATCH002-RELEASE:1.6 netbsd-1-6-PATCH002:1.6 netbsd-1-6-PATCH002-RC4:1.6 netbsd-1-6-PATCH002-RC3:1.6 netbsd-1-6-PATCH002-RC2:1.6 netbsd-1-6-PATCH002-RC1:1.6 ktrace-lwp:1.6.0.46 ktrace-lwp-base:1.6 netbsd-1-6-PATCH001:1.6 netbsd-1-6-PATCH001-RELEASE:1.6 netbsd-1-6-PATCH001-RC3:1.6 netbsd-1-6-PATCH001-RC2:1.6 netbsd-1-6-PATCH001-RC1:1.6 nathanw_sa_end:1.6 nathanw_sa_before_merge:1.6 fvdl_fs64_base:1.6 gmcgarry_ctxsw:1.6.0.44 gmcgarry_ctxsw_base:1.6 gmcgarry_ucred:1.6.0.42 gmcgarry_ucred_base:1.6 nathanw_sa_base:1.6 kqueue-aftermerge:1.6 kqueue-beforemerge:1.6 netbsd-1-6-RELEASE:1.6 netbsd-1-6-RC3:1.6 netbsd-1-6-RC2:1.6 netbsd-1-6-RC1:1.6 netbsd-1-6:1.6.0.40 netbsd-1-6-base:1.6 gehenna-devsw:1.6.0.38 gehenna-devsw-base:1.6 netbsd-1-5-PATCH003:1.6 eeh-devprop:1.6.0.36 eeh-devprop-base:1.6 newlock:1.6.0.34 newlock-base:1.6 ifpoll-base:1.6 nathanw_sa:1.6.0.30 thorpej-mips-cache:1.6.0.28 thorpej-mips-cache-base:1.6 thorpej-devvp-base3:1.6 thorpej-devvp-base2:1.6 post-chs-ubcperf:1.6 pre-chs-ubcperf:1.6 thorpej-devvp:1.6.0.24 thorpej-devvp-base:1.6 netbsd-1-5-PATCH002:1.6 kqueue:1.6.0.26 kqueue-base:1.6 netbsd-1-5-PATCH001:1.6 thorpej_scsipi_beforemerge:1.6 thorpej_scsipi_nbase:1.6 netbsd-1-5-RELEASE:1.6 netbsd-1-5-BETA2:1.6 netbsd-1-5-BETA:1.6 netbsd-1-4-PATCH003:1.6 netbsd-1-5-ALPHA2:1.6 netbsd-1-5:1.6.0.22 netbsd-1-5-base:1.6 minoura-xpg4dl:1.6.0.20 minoura-xpg4dl-base:1.6 netbsd-1-4-PATCH002:1.6 chs-ubc2-newbase:1.6 wrstuden-devbsize-19991221:1.6 wrstuden-devbsize:1.6.0.18 wrstuden-devbsize-base:1.6 kame_141_19991130:1.6 comdex-fall-1999:1.6.0.16 comdex-fall-1999-base:1.6 fvdl-softdep:1.6.0.14 fvdl-softdep-base:1.6 thorpej_scsipi:1.6.0.12 thorpej_scsipi_base:1.6 netbsd-1-4-PATCH001:1.6 kame_14_19990705:1.6 kame_14_19990628:1.6 kame:1.6.0.10 chs-ubc2:1.6.0.8 chs-ubc2-base:1.6 netbsd-1-4-RELEASE:1.6 netbsd-1-4:1.6.0.6 netbsd-1-4-base:1.6 netbsd-1-3-PATCH003:1.4 netbsd-1-3-PATCH003-CANDIDATE2:1.4 kenh-if-detach:1.6.0.4 kenh-if-detach-base:1.6 netbsd-1-3-PATCH003-CANDIDATE1:1.4 netbsd-1-3-PATCH003-CANDIDATE0:1.4 chs-ubc:1.6.0.2 chs-ubc-base:1.6 eeh-paddr_t:1.4.0.4 eeh-paddr_t-base:1.4 netbsd-1-3-PATCH002:1.4 netbsd-1-3-PATCH001:1.4 netbsd-1-3-RELEASE:1.4 netbsd-1-3-BETA:1.4 netbsd-1-3:1.4.0.2 netbsd-1-3-base:1.4 thorpej-signal:1.3.0.14 thorpej-signal-base:1.3 marc-pcmcia:1.3.0.12 marc-pcmcia-bp:1.3 marc-pcmcia-base:1.4 bouyer-scsipi:1.3.0.10 is-newarp-before-merge:1.3 is-newarp:1.3.0.8 is-newarp-base:1.3 netbsd-1-2-PATCH001:1.3 mrg-vm-swap:1.3.0.6 thorpej-setroot:1.3.0.2 netbsd-1-2-RELEASE:1.3 netbsd-1-2-BETA:1.3 netbsd-1-2:1.3.0.4 netbsd-1-2-base:1.3 netbsd-1-0-RELEASE:1.2; locks; strict; comment @# @; 1.9 date 2008.04.28.20.23.26; author martin; state Exp; branches; next 1.8; 1.8 date 2008.03.28.22.27.33; author apb; state Exp; branches 1.8.2.1 1.8.4.1; next 1.7; 1.7 date 2008.03.27.07.15.16; author apb; state Exp; branches; next 1.6; 1.6 date 98.08.15.03.51.31; author mycroft; state Exp; branches 1.6.148.1; next 1.5; 1.5 date 98.08.15.03.02.40; author mycroft; state Exp; branches; next 1.4; 1.4 date 97.09.30.21.47.22; author is; state Exp; branches; next 1.3; 1.3 date 94.10.26.07.48.49; author cgd; state Exp; branches 1.3.12.1; next 1.2; 1.2 date 94.07.07.01.51.18; author mycroft; state Exp; branches; next 1.1; 1.1 date 94.07.05.17.57.04; author mycroft; state Exp; branches; next ; 1.8.2.1 date 2008.05.18.12.32.20; author yamt; state Exp; branches; next ; 1.8.4.1 date 2008.05.16.02.22.43; author yamt; state Exp; branches; next ; 1.6.148.1 date 2008.04.03.12.42.20; author mjf; state Exp; branches; next 1.6.148.2; 1.6.148.2 date 2008.06.02.13.22.21; author mjf; state Exp; branches; next ; 1.3.12.1 date 97.10.14.10.16.36; author thorpej; state Exp; branches; next ; desc @@ 1.9 log @Remove clause 3 and 4 from TNF licenses @ text @#!/bin/sh # $NetBSD: asm2gas,v 1.8 2008/03/28 22:27:33 apb Exp $ # # Copyright (c) 1998,2008 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Charles M. Hannum. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # This ugly script converts assembler code from Motorola's format to a # form that gas (MIT syntax) can digest. : ${SED:=sed} # Which sed to use P='' # Prefix for register names, may be '%' or '' cat "$1" | "${SED}" -e ' # format canonicalization # leave "#include" alone; change "#" and "*" comment lines to use "|". /^\#include/{p;d;} /^\#/{s//|#/;p;d;} /^\*/{s//|/;p;d;} /[ ]IDNT[ ]/{s/^/|/;p;d;} s/;/|/ /[ ]equ[ ]/{ s/\([A-Za-z_][A-Za-z0-9_]*\)[ ]*equ[ ]*/\1,/ s/[ ][ ]*\(.*\)$/ |\1/ s/ ||/ |/ s/^/ .set / p;d } s/^\([A-Za-z_][A-Za-z0-9_]*\)[ ][ ]*/\1: / s/^\([A-Za-z_][A-Za-z0-9_]*\)$/\1:/ /^[A-Za-z_][A-Za-z0-9_]*:/{ h s/:.*$/:/ p g s/^.*:[ ]*/ / /^ $/d } /^[ ][ ]*\([.a-zA-Z][.a-zA-Z0-9]*\)/{ h s/// s/^[ ][ ]*// s/[ ][ ]*\(.*\)$/ |\1/ s/ ||/ |/ x s/^[ ][ ]*// s/[ ][ ]*.*$/ / y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ s/^/ / G s/\n// } ' | "${SED}" -e ' # operator conversion s/^ section 7/ .text/ s/^ section 8/ .text/ s/^ section 15/ .data/ /^ include/{s/include[ ]/.include "/;s/\.h[ ]*$/.defs"/;p;d;} s/^ xref/| xref/ s/^ end/| end/ s/^ xdef/ .global/ s/^ dc\.l/ .long/ s/^ dc\.w/ .short/ s/^ dc\.b/ .byte/ /^ [aceg-z]/{ /^ add[aiqx]*\.[bwl] /{s/\.//;p;d;} /^ andi*\.[bwl] /{s/\.//;p;d;} /^ as[lr]\.[bwl] /{s/\.//;p;d;} /^ clr\.[bwl] /{s/\.//;p;d;} /^ cmp[i2]*\.[bwl] /{s/\.//;p;d;} /^ eori*\.[bwl] /{s/\.//;p;d;} /^ lea\.l /{s/\..//;p;d;} /^ ls[lr]\.[bwl] /{s/\.//;p;d;} /^ move[acmqs]*\.[bwl] /{s/\.//;p;d;} /^ mul[su]\.[wl] /{s/\.//;p;d;} /^ neg\.[bwl] /{s/\.//;p;d;} /^ ori*\.[bwl] /{s/\.//;p;d;} /^ ro[lrx]*\.[bwl] /{s/\.//;p;d;} /^ sub[aiqx]*\.[bwl] /{s/\.//;p;d;} /^ swap\.w /{s/\..//;p;d;} /^ s\([a-tv-z][a-z]*\)\.b /{s/\..//;p;d;} /^ tst\.[bwl] /{s/\.//;p;d;} p;d } /^ bchg\.[bl] /{s/\..//;p;d;} /^ bclr\.[bl] /{s/\..//;p;d;} /^ bset\.[bl] /{s/\..//;p;d;} /^ btst\.[bl] /{s/\..//;p;d;} /^ div[sul]*\.[wl] /{s/\.//;p;d;} /^ fabs\.[sdx] /{s/\.//;p;d;} /^ fadd\.[sdxbwl] /{s/\.//;p;d;} /^ fcmp\.[sdxbwl] /{s/\.//;p;d;} /^ fdiv\.[sdx] /{s/\.//;p;d;} /^ fmove[mx]*\.[sdxbwl] /{s/\.//;p;d;} /^ fmul\.[sdx] /{s/\.//;p;d;} /^ fneg\.[sdx] /{s/\.//;p;d;} /^ fsqrt\.[sdx] /{s/\.//;p;d;} /^ fsub\.[sdxbwl] /{s/\.//;p;d;} /^ ftst\.[sdx] /{s/\.//;p;d;} /^ b[a-eg-z][a-z]*\.b /{s/\.b/s/;p;d;} /^ b[a-eg-z][a-z]*\.w /{s/\.w//;p;d;} /^ b[a-eg-z][a-z]*\.l /{s/\.l/l/;p;d;} /^ db[a-z][a-z]*\.w /{s/\.w//;p;d;} /^ fb[a-eg-z][a-z]*\.w /{s/\.w//;p;d;} /^ fb[a-eg-z][a-z]*\.l /{s/\.l/l/;p;d;} ' | "${SED}" -e ' # operand conversion # register names "FPIAR" -> "%FPI", etc., possibly without the "%" s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1'"$P"'FPI\2/g s/\([^_a-zA-Z0-9]\)FPIAR$/\1'"$P"'FPI/g s/\([^_a-zA-Z0-9]\)fpiar\([^_a-zA-Z0-9]\)/\1'"$P"'fpi\2/g s/\([^_a-zA-Z0-9]\)fpiar$/\1'"$P"'fpi/g s/\([^_a-zA-Z0-9]\)FPCR\([^_a-zA-Z0-9]\)/\1'"$P"'FPCR\2/g s/\([^_a-zA-Z0-9]\)FPCR$/\1'"$P"'FPCR/g s/\([^_a-zA-Z0-9]\)fpcr\([^_a-zA-Z0-9]\)/\1'"$P"'fpcr\2/g s/\([^_a-zA-Z0-9]\)fpcr$/\1'"$P"'fpcr/g s/\([^_a-zA-Z0-9]\)FPSR\([^_a-zA-Z0-9]\)/\1'"$P"'FPSR\2/g s/\([^_a-zA-Z0-9]\)FPSR$/\1'"$P"'FPSR/g s/\([^_a-zA-Z0-9]\)fpsr\([^_a-zA-Z0-9]\)/\1'"$P"'fpsr\2/g s/\([^_a-zA-Z0-9]\)fpsr$/\1'"$P"'fpsr/g # Hexadecimal numbers s/\$\([0-9a-fA-F]\)/0x\1/g s/#:/#:0x/g # Insert "%" before more register names (only if $P = "%"). # Some of the rules are repeated because of overlap between trailing # context in one match and leading context in another match; otherwise # only half the register names in "d4{d3:4},d0" would be converted. s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(sp\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(pc\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(sp\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(pc\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\(sp\)$/\1'"$P"'\2/g s/\(,\)\([dDaA][0-7]\)/\1'"$P"'\2/g s/\(,\)\([fF][pP][0-7]\)/\1'"$P"'\2/g # "-(%sp)" -> "%sp@@-", etc. (possibly without the "%") s/-(\('"$P"'[sSpPaA][pPcC0-7]\))/\1@@-/g # "(%sp)+" -> "%sp@@+", etc. (possibly without the "%") s/(\('"$P"'[sSpPaA][pPcC0-7]\))+/\1@@+/g # "foo(%sp,...)" -> "%sp@@(foo,...)", etc. (possibly without the "%") s/\([-+A-Za-z0-9_]*\)(\('"$P"'[sSpPaA][pPcC0-7]\)\([),]\)/\2@@(\1\3/g # ".w" -> ":w"; ".w*nn" -> ":w:nn"; "*nn" -> ":l:nn"; etc. s/\.\([bBwWlL])\)/:\1/g s/\.\([bBwWlL]\)\*\([0-9][0-9]*)\)/:\1:\2/g s/\*\([0-9][0-9]*\))/:l:\1)/g # "{nn:mm}" -> "{#nn:#mm}" s/{\([0-9][0-9]*\):\([0-9][0-9]*\)}/{#\1:#\2}/g # "{%d0:nn}" -> "{%d0:#nn}", etc. (possibly without the "%") s/{\('"$P"'[dD][0-7]\):\([0-9][0-9]*\)}/{\1:#\2}/g # Remove empty "()" or "(0)" after "@@" s/@@(0*)/@@/g # Remove leading "," or trailing ":" in parentheses s/(,/(/g;s/:)/)/g # make up for a gas bug /^ fmovemx /{ s/ \('"$P"'[fF][pP][0-7]\),/ \1-\1,/ s/,\('"$P"'[fF][pP][0-7]\) /,\1-\1 / s/,\('"$P"'[fF][pP][0-7]\)$/,\1-\1/ } ' @ 1.8 log @Synchronise the two asm2gas scripts in sys/arch/m68k/060sp and sys/arch/m68k/fpsp: * The fpsp/asm2gas sed script previously hardcoded the fact that registers needed a '%' prefix, and the 060sp/asm2gas sed scrip previously did not have rules related to inserting '%' before register names. Now, both scripts have the same rules, but the rules are parapeterised to use "$P", which is set to '' or '%' as appropriate. * Some other minor changes to the sed scripts. The new asm2gas scripts have been verified to produce identical output to the old asm2gas scripts, for all inputs in 060sp/dist/*.sa and fpsp/*.sa, except for some differences inside comments. Thanks to Izumi Tsutsui for suggesting that these scripts should be synchronised. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.7 2008/03/27 07:15:16 apb Exp $ a18 7 # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the NetBSD # Foundation, Inc. and its contributors. # 4. Neither the name of The NetBSD Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. @ 1.8.2.1 log @sync with head. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.8 2008/03/28 22:27:33 apb Exp $ d19 7 @ 1.8.4.1 log @sync with head. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.8 2008/03/28 22:27:33 apb Exp $ d19 7 @ 1.7 log @Use "${TOOL_SED}" instead of just "sed" in sys/arch/m68k/060sp/asm2gas. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.6 1998/08/15 03:51:31 mycroft Exp $ d5 1 a5 1 # Copyright (c) 1998 The NetBSD Foundation, Inc. d43 2 a44 1 : ${TOOL_SED:=sed} d46 1 a46 1 cat "$1" | "${TOOL_SED}" -e ' d49 4 a52 1 s/^#/|#/ a53 1 /^\*/{s//|/;p;d;} d86 1 a86 1 ' | sed -e ' d144 1 a144 1 ' | sed -e ' d147 13 a159 6 s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1FPI\2/g s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1FPI\2/g s/\([^_a-zA-Z0-9]\)FPIAR$/\1FPI/g s/\([^_a-zA-Z0-9]\)fpiar\([^_a-zA-Z0-9]\)/\1fpi\2/g s/\([^_a-zA-Z0-9]\)fpiar\([^_a-zA-Z0-9]\)/\1fpi\2/g s/\([^_a-zA-Z0-9]\)fpiar$/\1fpi/g d161 1 d165 28 a192 3 s/-(\([sSpPaA][pPcC0-7]\))/\1@@-/g s/(\([sSpPaA][pPcC0-7]\))+/\1@@+/g s/\([-+A-Za-z0-9_]*\)(\([sSpPaA][pPcC0-7]\)\([),]\)/\2@@(\1\3/g d194 1 d198 1 d200 2 a201 1 s/{\([dD][0-7]\):\([0-9][0-9]*\)}/{\1:#\2}/g d203 1 d205 1 d210 3 a212 3 s/ \([fF][pP][0-7]\),/ \1-\1,/ s/,\([fF][pP][0-7]\) /,\1-\1 / s/,\([fF][pP][0-7]\)$/,\1-\1/ @ 1.6 log @Assign copyrights to TNF. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.5 1998/08/15 03:02:40 mycroft Exp $ d43 3 a45 1 cat $1 | sed -e ' @ 1.6.148.1 log @Sync with HEAD. @ text @d2 1 a2 1 # $NetBSD$ d5 1 a5 1 # Copyright (c) 1998,2008 The NetBSD Foundation, Inc. d43 1 a43 4 : ${SED:=sed} # Which sed to use P='' # Prefix for register names, may be '%' or '' cat "$1" | "${SED}" -e ' d46 2 a47 3 # leave "#include" alone; change "#" and "*" comment lines to use "|". /^\#include/{p;d;} /^\#/{s//|#/;p;d;} a48 1 /[ ]IDNT[ ]/{s/^/|/;p;d;} d81 1 a81 1 ' | "${SED}" -e ' d139 1 a139 1 ' | "${SED}" -e ' d142 6 a147 13 # register names "FPIAR" -> "%FPI", etc., possibly without the "%" s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1'"$P"'FPI\2/g s/\([^_a-zA-Z0-9]\)FPIAR$/\1'"$P"'FPI/g s/\([^_a-zA-Z0-9]\)fpiar\([^_a-zA-Z0-9]\)/\1'"$P"'fpi\2/g s/\([^_a-zA-Z0-9]\)fpiar$/\1'"$P"'fpi/g s/\([^_a-zA-Z0-9]\)FPCR\([^_a-zA-Z0-9]\)/\1'"$P"'FPCR\2/g s/\([^_a-zA-Z0-9]\)FPCR$/\1'"$P"'FPCR/g s/\([^_a-zA-Z0-9]\)fpcr\([^_a-zA-Z0-9]\)/\1'"$P"'fpcr\2/g s/\([^_a-zA-Z0-9]\)fpcr$/\1'"$P"'fpcr/g s/\([^_a-zA-Z0-9]\)FPSR\([^_a-zA-Z0-9]\)/\1'"$P"'FPSR\2/g s/\([^_a-zA-Z0-9]\)FPSR$/\1'"$P"'FPSR/g s/\([^_a-zA-Z0-9]\)fpsr\([^_a-zA-Z0-9]\)/\1'"$P"'fpsr\2/g s/\([^_a-zA-Z0-9]\)fpsr$/\1'"$P"'fpsr/g a148 1 # Hexadecimal numbers d152 3 a154 28 # Insert "%" before more register names (only if $P = "%"). # Some of the rules are repeated because of overlap between trailing # context in one match and leading context in another match; otherwise # only half the register names in "d4{d3:4},d0" would be converted. s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(sp\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(pc\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(sp\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\(pc\)\([^[:alnum:]_]\)/\1'"$P"'\2\3/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\([dDaA][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\([fF][pP][0-7]\)$/\1'"$P"'\2/g s/\([^[:alnum:]_%]\)\(sp\)$/\1'"$P"'\2/g s/\(,\)\([dDaA][0-7]\)/\1'"$P"'\2/g s/\(,\)\([fF][pP][0-7]\)/\1'"$P"'\2/g # "-(%sp)" -> "%sp@@-", etc. (possibly without the "%") s/-(\('"$P"'[sSpPaA][pPcC0-7]\))/\1@@-/g # "(%sp)+" -> "%sp@@+", etc. (possibly without the "%") s/(\('"$P"'[sSpPaA][pPcC0-7]\))+/\1@@+/g # "foo(%sp,...)" -> "%sp@@(foo,...)", etc. (possibly without the "%") s/\([-+A-Za-z0-9_]*\)(\('"$P"'[sSpPaA][pPcC0-7]\)\([),]\)/\2@@(\1\3/g a155 1 # ".w" -> ":w"; ".w*nn" -> ":w:nn"; "*nn" -> ":l:nn"; etc. a158 1 # "{nn:mm}" -> "{#nn:#mm}" d160 1 a160 2 # "{%d0:nn}" -> "{%d0:#nn}", etc. (possibly without the "%") s/{\('"$P"'[dD][0-7]\):\([0-9][0-9]*\)}/{\1:#\2}/g a161 1 # Remove empty "()" or "(0)" after "@@" a162 1 # Remove leading "," or trailing ":" in parentheses d167 3 a169 3 s/ \('"$P"'[fF][pP][0-7]\),/ \1-\1,/ s/,\('"$P"'[fF][pP][0-7]\) /,\1-\1 / s/,\('"$P"'[fF][pP][0-7]\)$/,\1-\1/ @ 1.6.148.2 log @Sync with HEAD. @ text @d19 7 @ 1.5 log @Make copyright notices with my name consistent. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.4 1997/09/30 21:47:22 is Exp $ d5 5 a9 1 # Copyright (c) 1994 Charles M. Hannum. All rights reserved. d21 5 a25 3 # This product includes software developed by Charles M. Hannum. # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. d27 11 a37 10 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @ 1.4 log @- only convert real hex constants to 0x form, not $NetBSD... - protect comment lines from future uses of CPP by putting a | in front @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.3 1994/10/26 07:48:49 cgd Exp $ d5 1 a5 1 # Copyright (c) 1994 Charles Hannum. All rights reserved. d17 1 a17 1 # This product includes software developed by Charles Hannum. @ 1.3 log @new RCS ID format. @ text @d2 1 a2 1 # $NetBSD$ d39 1 d142 1 a142 1 s/\$/0x/g @ 1.3.12.1 log @Update marc-pcmcia branch from trunk. @ text @d2 1 a2 1 # $NetBSD: asm2gas,v 1.4 1997/09/30 21:47:22 is Exp $ a38 1 s/^#/|#/ d141 1 a141 1 s/\$\([0-9a-fA-F]\)/0x\1/g @ 1.2 log @Simplify, speed it up, and do the right thing for floating point constants. @ text @d2 1 a30 2 # # $Id: asm2gas,v 1.1 1994/07/05 17:57:04 mycroft Exp $ @ 1.1 log @Port to NetBSD, with some bug fixes and minor performance tweaks. @ text @d31 1 a31 1 # $Id: asm2gas,v 1.1 1994/07/05 17:20:56 mycroft Exp $ d38 2 d41 1 a41 1 /^\*/{p;d;} d60 1 a60 1 /^[ ][ ]*[.a-zA-Z][.a-zA-Z0-9]*/{ d62 2 a63 1 s/[ ]*[.a-zA-Z][.a-zA-Z0-9]*[ ]*// d67 1 a67 1 s/^[ ]*\([.a-zA-Z][.a-zA-Z0-9]*\)/\1/ d75 57 a131 6 s/^\*/|/ s/\$/0x/g s/#:/#0x/g s/ dc\.l/ .long/ s/ dc\.w/ .short/ s/ dc\.b/ .byte/ d133 5 a137 18 s/\([^_a-zA-Z0-9]\)A\([0-7]\)\([^_a-zA-Z0-9:.]\)/\1a\2\3/g s/\([^_a-zA-Z0-9]\)A\([0-7]\)\([^_a-zA-Z0-9:.]\)/\1a\2\3/g s/\([^_a-zA-Z0-9]\)A\([0-7]\)$/\1a\2/g s/\([^_a-zA-Z0-9]\)D\([0-7]\)\([^_a-zA-Z0-9]\)/\1d\2\3/g s/\([^_a-zA-Z0-9]\)D\([0-7]\)\([^_a-zA-Z0-9]\)/\1d\2\3/g s/\([^_a-zA-Z0-9]\)D\([0-7]\)$/\1d\2/g s/\([^_a-zA-Z0-9]\)FP\([0-7]\)\([^_a-zA-Z0-9]\)/\1fp\2\3/g s/\([^_a-zA-Z0-9]\)FP\([0-7]\)\([^_a-zA-Z0-9]\)/\1fp\2\3/g s/\([^_a-zA-Z0-9]\)FP\([0-7]\)$/\1fp\2/g s/\([^_a-zA-Z0-9]\)FPCR\([^_a-zA-Z0-9]\)/\1fpcr\2/g s/\([^_a-zA-Z0-9]\)FPCR\([^_a-zA-Z0-9]\)/\1fpcr\2/g s/\([^_a-zA-Z0-9]\)FPCR$/\1fpcr/g s/\([^_a-zA-Z0-9]\)FPSR\([^_a-zA-Z0-9]\)/\1fpsr\2/g s/\([^_a-zA-Z0-9]\)FPSR\([^_a-zA-Z0-9]\)/\1fpsr\2/g s/\([^_a-zA-Z0-9]\)FPSR$/\1fpsr/g s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1fpi\2/g s/\([^_a-zA-Z0-9]\)FPIAR\([^_a-zA-Z0-9]\)/\1fpi\2/g s/\([^_a-zA-Z0-9]\)FPIAR$/\1fpi/g d141 7 a147 18 s/\([^_a-zA-Z0-9]\)a7\([^_a-zA-Z0-9:.]\)/\1sp\2/g s/\([^_a-zA-Z0-9]\)a7\([^_a-zA-Z0-9:.]\)/\1sp\2/g s/\([^_a-zA-Z0-9]\)a7$/\1sp/g ' | sed -e ' s/-(\(a.\))/\1@@-/g s/(\(a.\))+/\1@@+/g s/\([-+A-Za-z0-9_]*\)(\(a.\))/\2@@(\1)/g s/\([-+A-Za-z0-9_]*\)(\(a.\),\([ad].[^)]*\))/\2@@(\1,\3)/g s/-(sp)/sp@@-/g s/(sp)+/sp@@+/g s/\([-+A-Za-z0-9_]*\)(sp)/sp@@(\1)/g s/\([-+A-Za-z0-9_]*\)(sp,\([ad].[^)]*\))/sp@@(\1,\2)/g s/-(pc)/pc@@-/g s/(pc)+/pc@@+/g s/\([-+A-Za-z0-9_]*\)(pc)/pc@@(\1)/g s/\([-+A-Za-z0-9_]*\)(pc,\([ad].[^)]*\))/pc@@(\1,\2)/g d153 1 a153 1 s/{\(d[0-7]\):\([0-9][0-9]*\)}/{\1:#\2}/g d155 1 a155 1 s/@@()/@@/g;s/@@(0)/@@/g a157 54 s/^ section 7/ .text/ s/^ section 8/ .text/ s/^ section 15/ .data/ /^ include/{s/include[ ]/.include "/;s/\.h[ ]*$/.defs"/;p;d;} s/^ xref/| xref/ s/^ end/| end/ s/^ xdef/ .global/ s/^ lea\.l / lea / s/^ swap\.w / swap / s/^ adda\.l / addal / s/^ suba\.l / subal / s/^ movea\.l / moveal / s/^ btst\.[bl] / btst / s/^ bclr\.[bl] / bclr / s/^ bset\.[bl] / bset / s/^ bchg\.[bl] / bchg / s/^ clr\.\([lbw]\) / clr\1 / s/^ tst\.\([lbw]\) / tst\1 / s/^ neg\.\([lbw]\) / neg\1 / s/^ or\(i*\)\.\([lbw]\) / or\1\2 / s/^ eor\(i*\)\.\([lbw]\) / eor\1\2 / s/^ and\(i*\)\.\([lbw]\) / and\1\2 / s/^ mul\([su]\)\.\([lw]\) / mul\1\2 / s/^ div\([sul]*\)\.\([lw]\) / div\1\2 / s/^ cmp\([i2]*\)\.\([lbw]\) / cmp\1\2 / s/^ ro\([xlr]*\)\.\([lbw]\) / ro\1\2 / s/^ \([al]\)s\([lr]\)\.\([lbw]\) / \1s\2\3 / s/^ add\([xiq]*\)\.\([lbw]\) / add\1\2 / s/^ sub\([xiq]*\)\.\([lbw]\) / sub\1\2 / s/^ move\([scmq]*\)\.\([lbw]\) / move\1\2 / s/^ fabs\.\([sdx]\) / fabs\1 / s/^ fneg\.\([sdx]\) / fneg\1 / s/^ ftst\.\([sdx]\) / ftst\1 / s/^ fmul\.\([sdx]\) / fmul\1 / s/^ fdiv\.\([sdx]\) / fdiv\1 / s/^ fsqrt\.\([sdx]\) / fsqrt\1 / s/^ fadd\.\([sdxbwl]\) / fadd\1 / s/^ fsub\.\([sdxbwl]\) / fsub\1 / s/^ fcmp\.\([sdxbwl]\) / fcmp\1 / s/^ fmove\([mx]*\)\.\([sdxbwl]\) / fmove\1\2 / # fix an odd instruction s/^ bhs\.w / bcc / # set and branch instructions; questionable s/^ s\([a-z][a-z]*\)\.b / s\1 / s/^ db\([a-z][a-z]*\)\.w / db\1 / s/^ b\([a-eg-z][a-z]*\)\.b / b\1s / s/^ b\([a-eg-z][a-z]*\)\.w / b\1 / s/^ b\([a-eg-z][a-z]*\)\.l / b\1l / s/^ fb\([a-eg-z][a-z]*\)\.w / fb\1 / s/^ fb\([a-eg-z][a-z]*\)\.l / fb\1l / d160 3 a162 3 s/ fp\([0-7]\),/ fp\1-fp\1,/ s/,fp\([0-7]\) /,fp\1-fp\1 / s/,fp\([0-7]\)$/,fp\1-fp\1/ @